WO2020008522A1 - バス調停装置、バス調停システム、および撮像装置 - Google Patents

バス調停装置、バス調停システム、および撮像装置 Download PDF

Info

Publication number
WO2020008522A1
WO2020008522A1 PCT/JP2018/025196 JP2018025196W WO2020008522A1 WO 2020008522 A1 WO2020008522 A1 WO 2020008522A1 JP 2018025196 W JP2018025196 W JP 2018025196W WO 2020008522 A1 WO2020008522 A1 WO 2020008522A1
Authority
WO
WIPO (PCT)
Prior art keywords
bus
bus arbitration
unit
data
image processing
Prior art date
Application number
PCT/JP2018/025196
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 PCT/JP2018/025196 priority Critical patent/WO2020008522A1/ja
Publication of WO2020008522A1 publication Critical patent/WO2020008522A1/ja

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
    • 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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control

Definitions

  • the present invention relates to a bus arbitration device, a bus arbitration system, and an imaging device.
  • an imaging device such as a still image camera, a moving image camera, a medical endoscope camera, or an industrial endoscope camera
  • various processes such as image processing are performed by a mounted system LSI.
  • the system LSI incorporates a plurality of processing blocks for performing various processes in the imaging device, and each processing block is connected to a data bus provided inside the system LSI.
  • one externally connected memory such as a DRAM (Dynamic Random Access Memory) is shared by a plurality of built-in processing blocks.
  • the DRAM temporarily stores data of each processing stage processed by each processing block provided in the system LSI.
  • each processing block connected to a data bus serves as a bus master to read data to be processed stored in the DRAM and to write (store) the processed data to the DRAM. I do.
  • each processing block (bus master) accesses the DRAM by, for example, DMA (Direct Memory Access) transfer via a data bus.
  • DMA Direct Memory Access
  • data can be transferred between the respective processing blocks (bus masters). That is, in the system LSI, the respective processing blocks (bus masters) can exchange various data to be processed via the data bus by accessing the DRAMs with each other.
  • This bus arbitration circuit is a so-called DMA arbitration circuit.
  • the bus arbitration circuit controls actual access to the DRAM while appropriately arbitrating access requests (so-called DMA requests) to the DRAM by the respective processing blocks (bus masters).
  • the bus arbitration circuit basically determines a processing block (bus master) that accepts (permits) an access request to the DRAM based on a priority indicating a priority of access to the DRAM by each processing block (bus master). I do.
  • Patent Document 1 a technology for configuring a system by two system LSIs is disclosed.
  • a system configured by a plurality of system LSIs as disclosed in Patent Literature 1 it is necessary to guarantee processing functions and processing times of the entire system.
  • This is a system having a configuration in which a plurality of data buses are provided in one system LSI and a plurality of processing blocks sharing a memory are connected to the respective data buses, although the configuration is not two system LSIs. The same is true for
  • one IC chip 1 includes a plurality of buffers corresponding to a plurality of priorities (high, medium, and low), and a request distribution circuit is transmitted from the other IC chip 2.
  • a request distribution circuit is transmitted from the other IC chip 2.
  • the priority of an access request to a memory transmitted from the IC chip 2 is determined by a request distribution circuit provided in the IC chip 1 that actually accesses the memory. Has been identified and assigned to one of the buffers corresponding to the priority.
  • the priority assigned by the IC chip 1 is not always the optimal priority for the IC chip 2. That is, in the technique disclosed in Patent Document 1, the priority of the access request to the memory from the processing circuit provided in the IC chip 1 matches the priority of the access request to the memory from the IC chip 2. Not necessarily.
  • the priority of the memory access request from the IC chip 2 is replaced with the priority of the buffer, and the priority of the processing circuit provided in the IC chip 1 and the priority of the buffer are replaced. This is because the actual access to the memory, including the degree, is arbitrated.
  • the processing circuit even in a situation where it is desired to give priority to a memory access request by the processing circuit provided in the IC chip 2, if the priority of the processing circuit provided in the IC chip 1 is higher than the priority of the buffer, the processing circuit It is conceivable that the request for access to the memory due to the arbitration is prioritized over the request for access to the memory by the buffer (the request for access to the desired memory from the IC chip 2 buffered in the buffer). Conversely, for example, even in a situation where it is desired to give priority to a memory access request by a processing circuit provided in the IC chip 1, the priority of the buffer is higher than the priority of the processing circuit provided in the IC chip 1.
  • a request for access to the memory by the buffer may be arbitrated prior to a request for access to the memory by the processing circuit. Conceivable. In such a case, in the technique disclosed in Patent Document 1, it is conceivable that an access request to a memory to be prioritized does not end within a predetermined time. This causes a failure in the processing of the entire system.
  • the present invention has been made based on the recognition of the above-mentioned problem, and in a system having a configuration in which a plurality of data buses to which a plurality of processing blocks sharing a memory are connected are provided, a process connected to each data bus.
  • An object of the present invention is to provide a bus arbitration device, a bus arbitration system, and an imaging device that can arbitrate access to a memory by matching the priorities of blocks.
  • a bus arbitration device in a plurality of data buses to which at least one memory and a plurality of processing blocks sharing the memory are connected, by any one of the processing blocks
  • a bus arbitration device that arbitrates access to the memory comprising: a first data bus connected to a first memory, the first data bus being an access to the first memory output from the processing block.
  • a first bus arbitration unit that arbitrates a request and a second data bus that is the data bus connected to a second memory arbitrates an access request to the second memory output from the processing block.
  • Each scan arbitration unit and said second bus arbitration unit and a priority control section for controlling the priority when receiving the access request.
  • the plurality of processing blocks connected to the first data bus include a first processing block for accessing the second memory.
  • the plurality of processing blocks connected to the second data bus include a second processing block that accesses the first memory, and the priority control unit includes the first processing block.
  • the access request received by each of the first bus arbitration unit and the second bus arbitration unit, including the access request output from the second processing block and the access request output from the second processing block May be controlled.
  • the priority control unit observes the progress of processing in each of the processing blocks, and based on the observation result, May control the priority of receiving the access request output by the processing block.
  • the priority control unit includes the first bus arbitration unit and the second bus arbitration unit.
  • the first bus arbitration unit and the second bus arbitration unit each receive the access request to the corresponding memory based on the set priority.
  • the processing block may be determined.
  • the priority control unit sets the priority for each of the processing blocks.
  • Each of the bus arbitration unit and the second bus arbitration unit may determine the processing block that receives the access request to the corresponding memory based on the priority output from the processing block. .
  • the priority control unit includes the first processing block and the second processing block.
  • the priority of the access request received by each of the first bus arbitration unit and the second bus arbitration unit may be controlled via a processing block.
  • the priority control unit is configured to control the access received by the first bus arbitration unit.
  • a first priority control unit configured to control the priority of the request; and a second priority control unit configured to control the priority of the access request received by the second bus arbitration unit.
  • the second priority control unit and the second priority control unit exchange information for controlling the priority with each other, and based on the exchanged information, perform the priority control of the access request received by the corresponding bus arbitration unit. The degree may be controlled.
  • the arbitration unit and the second priority control unit are disposed on a second semiconductor substrate, and the first priority control unit and the second priority control unit are connected to the first processing block and the second priority control unit.
  • the information may be exchanged via the processing block of (1).
  • the bus arbitration system includes any one of the processing blocks
  • a bus arbitration device that arbitrates access to the memory, comprising: a first data bus connected to a first memory, the first data bus being an access to the first memory output from the processing block.
  • a first bus arbitration unit that arbitrates a request and a second data bus that is the data bus connected to a second memory arbitrates an access request to the second memory output from the processing block.
  • a second bus arbitration unit the access request to the first memory, and the access request to the second memory.
  • Each bus arbitration unit and with said second bus arbitration unit of a bus arbiter which is provided with a priority control unit for controlling the priority when receiving the access request.
  • an imaging apparatus includes: a plurality of data buses to which at least one memory and a plurality of processing blocks sharing the memory are connected; A bus arbitration device that arbitrates access to a memory, wherein a request for access to the first memory output from the processing block is provided on a first data bus that is the data bus to which a first memory is connected. Arbitrating an access request to the second memory output from the processing block in a first bus arbitration unit that arbitrates the second memory and a second data bus that is the data bus to which a second memory is connected.
  • a first bus including a second bus arbitration unit, the access request to the first memory, and the access request to the second memory;
  • Each of the arbitrator and the second bus arbitration unit comprises a bus arbitration system comprising a bus arbitration apparatus and a priority control section for controlling the priority when receiving the access request.
  • a bus arbitration device in a system having a configuration in which a plurality of data buses to which a plurality of processing blocks sharing a memory are connected are provided, the priorities of the processing blocks connected to the respective data buses are matched to the memory.
  • a bus arbitration device in a system having a configuration in which a plurality of data buses to which a plurality of processing blocks sharing a memory are connected are provided, the priorities of the processing blocks connected to the respective data buses are matched to the memory.
  • a bus arbitration device in a system having a configuration in which a plurality of data buses to which a plurality of processing blocks sharing a memory are connected are provided, the priorities of the processing blocks connected to the respective data buses are matched to the memory.
  • an imaging device that can arbitrate the access of the user.
  • FIG. 1 is a block diagram illustrating a schematic configuration of an imaging device equipped with a bus arbitration system including a bus arbitration device according to a first embodiment of the present invention.
  • FIG. 4 is a diagram illustrating an example of priorities when arbitrating a memory access request in the bus arbitration device according to the first embodiment of the present invention.
  • FIG. 3 is a diagram illustrating an example of an operation of the imaging device equipped with the bus arbitration system including the bus arbitration device according to the first embodiment of the present invention.
  • FIG. 9 is a block diagram illustrating a schematic configuration of an imaging device equipped with a bus arbitration system including a bus arbitration device according to a second embodiment of the present invention.
  • FIG. 1 is a block diagram illustrating a schematic configuration of an imaging device equipped with a bus arbitration system including a bus arbitration device according to a first embodiment of the present invention.
  • FIG. 4 is a diagram illustrating an example of priorities when arbitrating a memory access request in the bus arbitration device according to the first embodiment of the present invention.
  • FIG. 3 is
  • FIG. 13 is a diagram illustrating an example of priorities when arbitrating a memory access request in the bus arbitration device according to the second embodiment of the present invention. It is a figure showing an example of operation in an imaging device which carries a bus arbitration system provided with a bus arbitration device of a 2nd embodiment of the present invention.
  • FIG. 14 is a block diagram illustrating a schematic configuration of an imaging device equipped with a bus arbitration system including a bus arbitration device according to a third embodiment of the present invention.
  • FIG. 14 is a block diagram illustrating a schematic configuration of an imaging device equipped with a bus arbitration system including a bus arbitration device according to a fourth embodiment of the present invention.
  • FIG. 14 is a block diagram illustrating a schematic configuration of an imaging device equipped with a bus arbitration system including a bus arbitration device according to a fifth embodiment of the present invention.
  • FIG. 14 is a block diagram illustrating a schematic configuration of an imaging device equipped with a bus arbitration system including a bus arbitration device according to a sixth embodiment of the present invention. It is a figure showing an example of operation in an imaging device in which a bus arbitration system provided with a bus arbitration device of a 6th embodiment of the present invention is carried.
  • the bus arbitration device according to the first embodiment of the present invention is mounted on an imaging device such as a still image camera or a moving image camera. A case where the system is provided in the bus arbitration system will be described.
  • FIG. 1 is a block diagram showing a schematic configuration of an imaging device equipped with a bus arbitration system including a bus arbitration device according to the first embodiment of the present invention.
  • the imaging device 1 shown in FIG. 1 includes an image sensor 10, a bus arbitration system 20, and a display device 30.
  • the bus arbitration system 20 includes two bus systems (a bus system 21 and a bus system 22) and a CPU (Central Processing Unit) 23.
  • the bus system 21 includes an imaging processing unit 211, a digital signal processor (Digital Signal Processor) (DSP) 212, an image processing unit 213, a bus arbitration unit 214, a memory control unit 215, and a DRAM (Dynamic Random Access Memory). ) 216, a bus arbitration unit 217, a bus controller 218, and a display processing unit 219.
  • the bus arbitration unit 214 includes a register 214R for setting the priority.
  • the bus arbitration unit 217 includes a register 217R for setting a priority.
  • each of the imaging processing unit 211, the digital signal processor 212, the image processing unit 213, the bus arbitration unit 214, the bus arbitration unit 217, and the display unit 219 is connected to the common data bus 210. Have been.
  • the bus system 22 includes a digital signal processor 221, an image processing unit 222, a bus arbitration unit 223, a memory control unit 224, a DRAM 225, a bus arbitration unit 226, and a bus controller 227. Further, the bus arbitration unit 223 includes a register 223R for setting the priority. Further, the bus arbitration unit 226 includes a register 226R for setting the priority. In the bus system 22, the digital signal processor 221, the image processing unit 222, the bus arbitration unit 223, and the bus arbitration unit 226 are connected to a common data bus 220.
  • the configuration with 226 corresponds to the bus arbitration device of the first embodiment.
  • the imaging device 1 captures a still image or a moving image of a subject using the image sensor 10. Then, the imaging device 1 causes the display device 30 to display a display image corresponding to the captured still image. Further, the imaging device 1 causes the display device 30 to display a display image corresponding to the captured moving image. Note that the imaging device 1 can also record a recorded image corresponding to a captured still image or moving image on a recording medium (not shown).
  • the image sensor 10 is a solid-state imaging device that photoelectrically converts an optical image of a subject formed by a lens (not shown) provided in the imaging device 1.
  • the image sensor 10 is a solid-state imaging device typified by a CCD (Charge Coupled Device) image sensor and a CMOS (Complementary Metal-Oxide Semiconductor: complementary metal oxide semiconductor) image sensor.
  • the image sensor 10 outputs a pixel signal corresponding to the captured optical image of the subject to the imaging processing unit 211 provided in the bus system 21 in the bus arbitration system 20.
  • the display device 30 is a display device that displays a display image output from the display processing unit 219 provided in the bus system 21 in the bus arbitration system 20.
  • the display device 30 is a display device such as a TFT (Thin Film Transistor) liquid crystal display (LCD: Liquid Crystal Display) or an organic EL (Electro Luminescence) display.
  • TFT Thin Film Transistor
  • LCD Liquid Crystal Display
  • organic EL Electro Luminescence
  • the display device 30 includes various display devices having different sizes of display images to be displayed, that is, different numbers of pixels.
  • the display device 30 is mounted on the imaging device 1 such as a TFT liquid crystal display that displays a VGA (640 ⁇ 480) size image or an EVF (Electronic View Finder), and confirms a subject to be photographed.
  • Display device which operates as a view finder for the display.
  • the display device 30 displays an HDTV (High Definition Television) displaying an image of a full HD (1920 ⁇ 1080) size, and a UHDTV (Ultra High Definition Television) displaying an image of a 4K2K (3840 ⁇ 2160) size.
  • HDTV High Definition Television
  • UHDTV Ultra High Definition Television
  • the bus arbitration system 20 performs a predetermined image processing on the pixel signal output from the image sensor 10 to generate a still image or a moving image. Further, the bus arbitration system 20 generates a display image according to the generated still image or moving image. Then, the bus arbitration system 20 causes the display device 30 to display the generated display image.
  • the bus arbitration system 20 can also generate a recording image according to the generated still image or moving image, and can record the generated recording image on a recording medium (not shown).
  • the imaging processing unit 211, the digital signal processor 212, the image processing unit 213, and the display processing unit 219 provided in the bus system 21 and the digital signal processor 221 and the image processing unit 222 provided in the bus system 22 are included.
  • Each is a processing block that realizes a processing function of performing image processing in the bus arbitration system 20.
  • each of the imaging processing unit 211, digital signal processor 212, image processing unit 213, and display processing unit 219 provided in the bus system 21 accesses the DRAM 216 via the data bus 210. Further, in the bus arbitration system 20, each of the digital signal processor 221 and the image processing unit 222 provided in the bus system 22 accesses the DRAM 225 via the data bus 220. At this time, in the bus arbitration system 20, each processing block provided in the bus system 21 and the bus system 22 accesses the DRAM 216 or the DRAM 225 by, for example, DMA (Direct Memory Access) transfer.
  • DMA Direct Memory Access
  • each processing block provided in the bus system 21 accesses the DRAM 225 provided in the bus system 22, and each processing block provided in the bus system 22 includes the processing block provided in the bus system 21. Or access to the DRAM 216. Also at this time, the respective processing blocks provided in the bus system 21 and the bus system 22 access the DRAM 216 and the DRAM 225 via the mutual data bus (the data bus 210 and the data bus 220), for example, by DMA transfer.
  • each of the image processing unit 213 provided in the bus system 21 and the image processing unit 222 provided in the bus system 22 may perform image processing in the bus arbitration system 20 in cooperation with each other. it can.
  • the image processing unit 213 provided in the bus system 21 and the image processing unit 222 provided in the bus system 22 transmit cooperative data without passing through each other's data bus (data bus 210 and data bus 220). Can communicate directly.
  • the CPU 23 controls the priority when each processing block provided in the bus system 21 and the bus system 22 accesses the DRAM 216 or 225.
  • the CPU 23 controls the priority of access to the DRAM 216 and the DRAM 225 by each processing block based on the operation in the imaging device 1, that is, the operation mode of the imaging device 1. For example, when the operation mode of the imaging apparatus 1 is a photographing mode for photographing a subject, real-time photographing of the subject and display of a display image for confirming the photographed subject, so-called live view image (through image), are performed in real time. Sex is required.
  • the CPU 23 sets the priority of the processing block that performs image processing that requires real-time processing to be higher, and controls the processing block with the higher priority so that the access to the DRAM is not waited for. More specifically, the CPU 23 performs, for each processing block, a data flow (data amount, speed, and the like) on the data bus when accessing the DRAM 216 or the DRAM 225, that is, in order to secure a bus band of the data bus. Determine and control the required fixed priorities.
  • the bus arbitration system 20 includes two bus systems, a bus system 21 and a bus system 22.
  • FIG. 1 shows a case where each of the bus system 21 and the bus system 22 includes a DRAM (DRAM 216 or DRAM 225), the configuration of the bus arbitration system 20 is shown in FIG.
  • the bus system 21 is configured as one system LSI in which components other than the DRAM 216 are formed on one semiconductor substrate, and the DRAM 216 is connected to the outside. May be configured as another system LSI formed on another semiconductor substrate to connect the DRAM 225 to the outside. That is, the bus arbitration system 20 may be configured to include two system LSIs.
  • the components other than the DRAM 216 constituting the bus system 21 and the components other than the DRAM 225 constituting the bus system 22 are collectively formed as one system LSI formed on one semiconductor substrate.
  • the DRAM 216 and the DRAM 225 may be connected to the outside.
  • bus arbitration system 20 has a configuration in which each of the DRAMs 216 and 225 is arranged outside one system LSI including the bus system 21 and the bus system 22, and is connected to a corresponding data bus.
  • the DRAM 216 is a component included in the bus system 21
  • the DRAM 225 is a component included in the bus system 22 for ease of description.
  • the CPU 23 is a control unit that controls the components of the bus arbitration system 20 to control the entire bus arbitration system 20. Further, as described above, the CPU 23 is also a priority control unit that controls the priority when each processing block provided in the bus system 21 and the bus system 22 accesses the DRAM 216 or 225.
  • the CPU 23 controls the entire bus arbitration system 20 according to a program or data for controlling each component. Note that the CPU 23 may control components included in the imaging device 1. Programs and data for the CPU 23 to control the respective components provided in the bus arbitration system 20 and the imaging device 1 may be stored in, for example, the DRAM 216 included in the bus system 21. In this case, the CPU 23 controls the entire bus arbitration system 20 and the imaging apparatus 1 by reading out and executing the programs and data stored in the DRAM 216 via the data bus 210.
  • the bus system 21 realizes a processing function of performing image processing in the imaging apparatus 1 by the imaging processing unit 211, the digital signal processor 212, the image processing unit 213, and the display processing unit 219. Further, the bus system 22 realizes a processing function of image processing in the imaging device 1 by the digital signal processor 221 and the image processing unit 222.
  • the DRAM 216 and the DRAM 225 are memories (data storage units) that store various data processed in the bus arbitration system 20. More specifically, DRAM 216 stores various data processed in bus system 21 in bus arbitration system 20. The DRAM 216 is connected to the data bus 210 via the memory control unit 215 and the bus arbitration unit 214. The DRAM 216 is accessed at each processing stage in the bus system 21, stores the data output from each processing block, and outputs the stored data to each processing block. The DRAM 225 stores various data processed in the bus system 22 in the bus arbitration system 20. The DRAM 225 is connected to the data bus 220 via the memory control unit 224 and the bus arbitration unit 223. The DRAM 225 is accessed at each processing stage in the bus system 22, stores the data output from each processing block, and outputs the stored data to each processing block.
  • the imaging processing unit 211 is a processing block that performs various predetermined image processing (imaging processing) on pixel signal data output from the image sensor 10. Examples of the imaging processing performed by the imaging processing unit 211 on the pixel signal data output from the image sensor 10 include so-called pre-processing such as flaw correction and shading correction. In the present invention, there is no particular limitation on the imaging process performed by the imaging processing unit 211 on the pixel signal data output from the image sensor 10.
  • the imaging processing unit 211 accesses the DRAM 216 via the data bus 210, and stores (writes) the pixel signal data (hereinafter, referred to as “imaging processing image data”) after performing the imaging processing in the DRAM 216. .
  • the imaging processing unit 211 outputs an access request for requesting storage (writing) of the imaging process image data to the DRAM 216 to the bus arbitration unit 214.
  • the imaging processing unit 211 outputs the imaging processing image data to the data bus 210.
  • the image processing image data output from the image processing unit 211 to the data bus 210 is output to the DRAM 216 via the bus arbitration unit 214 and the memory control unit 215 and stored (written).
  • the imaging processing unit 211 may be configured to temporarily store the data of the pixel signal output from the image sensor 10 and then perform the pre-processing. Further, the imaging processing unit 211 may have a configuration in which the imaging processing image data subjected to the pre-processing is temporarily stored, and then the DRAM 216 is accessed and stored (written).
  • the imaging processing unit 211 stores (writes) imaging processing image data in the DRAM 216 by DMA transfer. It becomes a transfer unit (bus master). Then, for example, when the operation mode of the imaging apparatus 1 is the shooting mode, the imaging processing unit 211 becomes a high-priority bus master having a high priority.
  • the digital signal processor 212 and the digital signal processor 221 are processing blocks that perform predetermined signal processing based on data stored in the corresponding DRAM. More specifically, the digital signal processor 212 performs predetermined signal processing based on the image processing image data stored in the DRAM 216. Further, the digital signal processor 221 performs predetermined signal processing based on the image processing image data stored in the DRAM 225.
  • the signal processing based on the image processing image data in the digital signal processor 212 and the digital signal processor 221 includes, for example, detection processing for detecting a photographed subject. In the present invention, there is no particular limitation on the signal processing based on the captured image data in the digital signal processor 212 and the digital signal processor 221.
  • the digital signal processor 212 and the digital signal processor 221 store (read) image processing image data to be subjected to signal processing and store data generated by performing signal processing (hereinafter, referred to as “signal processing data”).
  • the corresponding DRAM 216 is accessed at each of the writing (writing).
  • the digital signal processor 212 outputs an access request for requesting access to the DRAM 216 to the bus arbitration unit 214. Then, after the output access request is accepted (permitted) by the bus arbitration unit 214, the digital signal processor 212 acquires (reads) the image processing image data from the DRAM 216 or stores the signal processing data in the DRAM 216. (Write) access. As a result, respective data are exchanged between the digital signal processor 212 and the DRAM 216 via the data bus 210, the bus arbitration unit 214, and the memory control unit 215. The signal processing data output from the digital signal processor 212 is stored (written) in the DRAM 216.
  • the digital signal processor 221 outputs an access request for requesting access to the DRAM 225 to the bus arbitration unit 223. Then, after the output access request is accepted (permitted) by the bus arbitration unit 223, the digital signal processor 221 acquires (reads) the image processing image data from the DRAM 225 or stores the signal processing data in the DRAM 225. (Write) access. As a result, respective data are exchanged between the digital signal processor 221 and the DRAM 225 via the data bus 220, the bus arbitration unit 223, and the memory control unit 224. The signal processing data output from the digital signal processor 221 is stored (written) in the DRAM 225.
  • a series of signal processing based on the captured image data can be shared between the digital signal processor 212 and the digital signal processor 221.
  • the digital signal processor 212 can perform signal processing up to the middle of a series of signal processing based on the captured image data, and the digital signal processor 221 can perform subsequent signal processing.
  • the digital signal processor 212 performs a series of signal processing based on the image-processed image data of the odd-numbered frame or the odd-numbered block obtained by dividing the entire area of one frame into a plurality of blocks
  • the digital signal processor 221 can also perform a series of signal processing based on the image-processed image data of the even-numbered frame or the even-numbered block. In this case, each of the digital signal processor 212 and the digital signal processor 221 exchanges data with the corresponding DRAM.
  • the digital signal processor 212 performs signal processing halfway and the digital signal processor 221 performs subsequent signal processing.
  • the digital signal processor 212 outputs the signal processed data that has been partially processed to the data bus 210, and outputs the bus arbitration unit 217, the bus controller 218, the bus controller 227, the bus arbitration unit 226, the data bus 220, and the bus arbitration unit. 223 and via the memory control unit 224 to be stored (written) in the DRAM 225.
  • the digital signal processor 221 acquires (reads) signal processing data stored in the DRAM 225, which has been processed halfway, via the memory control unit 224, the bus arbitration unit 223, and the data bus 220. Perform signal processing.
  • the digital signal processor 221 outputs, to the data bus 220, the signal processing data that has been subjected to the signal processing until the end of the series of signal processing, and the bus arbitration unit 226, the bus controller 227, the bus controller 218, the bus arbitration unit 217, the data bus
  • the data is stored (written) in the DRAM 216 via the bus 210, the bus arbitration unit 214, and the memory control unit 215.
  • the signal processing data obtained by the digital signal processor 212 and the digital signal processor 221 sharing and performing a series of signal processing is stored (written) in the DRAM 216.
  • each of the digital signal processor 212 and the digital signal processor 221 each perform signal processing on a corresponding frame or a divided block.
  • each of the digital signal processor 212 and the digital signal processor 221 obtains (reads) the image-processed image data of the corresponding frame or divided block from the DRAM 216, performs signal processing, and processes the signal-processed signal processing data. It is stored (written) in the DRAM 216.
  • the digital signal processor 212 acquires the captured image data of the corresponding frame or divided block stored in the DRAM 216 via the memory control unit 215, the bus arbitration unit 214, and the data bus 210 ( Readout) and perform signal processing.
  • the digital signal processor 212 outputs the signal-processed data subjected to the signal processing to the data bus 210, and causes the DRAM 216 to store (write) the signal-processed data via the bus arbitration unit 214 and the memory control unit 215. Further, the digital signal processor 221 transmits the image processing image data of the corresponding frame or divided block stored in the DRAM 216 to the memory control unit 215, the bus arbitration unit 214, the data bus 210, the bus arbitration unit 217, the bus controller 218. , Via the bus controller 227, the bus arbitration unit 226, and the data bus 220 (read), and performs signal processing.
  • the digital signal processor 221 outputs the signal-processed signal data to the data bus 220, and outputs the bus arbitration unit 226, the bus controller 227, the bus controller 218, the bus arbitration unit 217, the data bus 210, the bus arbitration unit 214, and The data is stored (written) in the DRAM 216 via the memory control unit 215.
  • the signal processing data obtained by performing the signal processing on the frame or the divided block by sharing the digital signal processor 212 and the digital signal processor 221 is stored (written) in the DRAM 216.
  • each of the digital signal processor 212 and the digital signal processor 221 may be configured to temporarily store image processing image data acquired (read) from the corresponding DRAM and then perform signal processing. Further, each of the digital signal processor 212 and the digital signal processor 221 may be configured to temporarily store signal-processed signal processed data, and then access and store (write) the corresponding DRAM.
  • each processing block is a bus system that accesses a corresponding DRAM by DMA transfer
  • each of the digital signal processor 212 and the digital signal processor 221 captures an image from the corresponding DRAM by DMA transfer.
  • the DMA transfer unit (bus master) acquires (reads) the processed image data and stores (writes) the signal processing data in the corresponding DRAM by DMA transfer. Then, for example, when the operation mode of the imaging apparatus 1 is the shooting mode, each of the digital signal processor 212 and the digital signal processor 221 becomes a low-priority bus master having a low priority.
  • the image processing unit 213 and the image processing unit 222 are processing blocks that perform predetermined image processing on the captured image data stored in the corresponding DRAM. More specifically, the image processing unit 213 performs a predetermined image process on the captured image data stored in the DRAM 216. Further, the image processing unit 222 performs predetermined image processing on the captured image data stored in the DRAM 225. Examples of image processing performed by the image processing unit 213 and the image processing unit 222 on the captured image data include noise removal processing, YC (luminance and color difference) conversion processing, distortion correction processing, motion detection processing, resizing processing, and JPEG.
  • YC luminance and color difference
  • Still image compression processing such as compression processing, MPEG compression processing
  • image processing for display and recording such as moving image compression processing such as H.264 compression processing.
  • image processing performed by the image processing unit 213 and the image processing unit 222 on the captured image data is not particularly limited.
  • the image processing unit 213 and the image processing unit 222 apply, for example, still image expansion processing such as JPEG expansion processing, MPEG expansion processing, Image processing such as moving image expansion processing such as H.264 expansion processing may be performed.
  • the image processing unit 213 and the image processing unit 222 acquire (read) captured image data to be subjected to image processing, and generate and process image data (hereinafter, “image processed image data”). ) Is stored (written), the corresponding DRAM is accessed.
  • the image processing unit 213 outputs an access request for requesting access to the DRAM 216 to the bus arbitration unit 214. Then, after the output access request is accepted (permitted) by the bus arbitration unit 214, the image processing unit 213 acquires (reads) the image-processed image data from the DRAM 216, or outputs the image-processed image data to the DRAM 216. Perform storage (write) access. As a result, respective data are exchanged between the image processing unit 213 and the DRAM 216 via the data bus 210, the bus arbitration unit 214, and the memory control unit 215. Then, the image-processed image data output from the image processing unit 213 is stored (written) in the DRAM 216.
  • the image processing unit 222 outputs an access request for requesting access to the DRAM 225 to the bus arbitration unit 223. Then, after the output access request is accepted (permitted) by the bus arbitration unit 223, the image processing unit 222 acquires (reads) the image-processed image data from the DRAM 225, or outputs the image-processed image data to the DRAM 225. Perform storage (write) access. As a result, respective data are exchanged between the image processing unit 222 and the DRAM 225 via the data bus 220, the bus arbitration unit 223, and the memory control unit 224. Then, the image processing image data output by the image processing unit 222 is stored (written) in the DRAM 225.
  • the image processing unit 213 and the image processing unit 222 can cooperate or share, and can perform a series of image processing and extended image processing on the captured image data.
  • the image processing unit 213 and the image processing unit 222 transfer the image-processed image data in the course of performing a series or extended image processing to the image-processed image data to the corresponding data buses (the data bus 210 and the data bus 210). 220), the data to be linked can be exchanged directly.
  • the image processing unit 222 may perform a part of the image processing that the image processing unit 213 performs on the captured image data. Further, for example, the image processing unit 222 may further perform image processing added (extended) to the image processing performed on the captured image data.
  • the image processing unit 213 directly outputs the image-processed image data that has been subjected to the image processing to the middle to the image processing unit 222, and the image processing unit 222 performs the image processing in which the continued or added (extended) image processing has been performed.
  • the image data is directly returned to the image processing unit 213 again, and the image processing unit 213 performs further image processing.
  • the image processing unit 213 does not output the image-processed image data on which the image processing has been performed halfway to the data bus 210, and transmits the bus arbitration unit 217, the bus controller 218, the bus controller 227, and the bus arbitration unit 226.
  • the image data is output directly to the image processing unit 222 via the external device.
  • the image processing unit 222 performs continuous or added (extended) image processing on the image-processed image data directly output from the image processing unit 213, and performs the bus arbitration unit 226, the bus controller 227, the bus controller 218, and
  • the data is output directly to the image processing unit 213 via the bus arbitration unit 217.
  • the image processing unit 213 further continues the image processing on the image-processed image data directly output from the image processing unit 222 and outputs the processed data to the data bus 210, via the bus arbitration unit 214 and the memory control unit 215. Then, it is stored (written) in the DRAM 216.
  • the image processing image data that has been subjected to a series of image processing and extended image processing by the image processing unit 213 and the image processing unit 222, respectively, is stored (written) in the DRAM 216.
  • the image processing unit 213 and the image processing unit 222 store (write) image-processed image data subjected to image processing in the corresponding DRAM, similarly to the digital signal processor 212 and the digital signal processor 221.
  • the image processing unit 213 and the image processing unit 222 can cooperate or share to perform a series of image processing.
  • the operation when each of the image processing unit 213 and the image processing unit 222 stores (writes) the image processing image data in the corresponding DRAM and performs a series of image processing in cooperation or sharing is performed by a digital signal.
  • the operation can be considered in the same manner as the operation when the processor 212 and the digital signal processor 221 share a series of signal processing based on the captured image data.
  • each of the image processing unit 213 and the image processing unit 222 performs a series of image processing on the captured image data in cooperation or sharing by accessing the corresponding DRAM.
  • the image processing image data obtained by performing a series of image processing in cooperation or sharing between the image processing unit 213 and the image processing unit 222 is stored (written) in the DRAM 216.
  • each of the image processing unit 213 and the image processing unit 222 may be configured to temporarily store the image processing image data obtained (read) from the corresponding DRAM and then perform the image processing. Further, each of the image processing unit 213 and the image processing unit 222 may be configured to temporarily store the image-processed image data subjected to the image processing, and then access and store (write) the corresponding DRAM. Good.
  • each processing block is a bus system that accesses a corresponding DRAM by DMA transfer
  • each of the image processing unit 213 and the image processing unit 222 captures an image from the corresponding DRAM by DMA transfer.
  • the DMA transfer unit (bus master) acquires (reads) the processed image data and stores (writes) the processed image data in the corresponding DRAM by DMA transfer.
  • bus master acquires (reads) the processed image data and stores (writes) the processed image data in the corresponding DRAM by DMA transfer.
  • the operation mode of the imaging device 1 is the shooting mode
  • each of the image processing unit 213 and the image processing unit 222 is a low-priority bus master having a low priority.
  • the display processing unit 219 is a processing block that causes the display device 30 to display a display image corresponding to the image processing image data.
  • the display processing unit 219 performs a predetermined display process on the image-processed image data stored in the DRAM 216 to generate a display image, and causes the display device 30 to display the generated display image.
  • the display processing performed by the display processing unit 219 on the image-processed image data includes, for example, a process of converting the size of a display image to the size of an image displayed by the display device 30 and a process related to a still image or a moving image such as a shooting date and time. There is a process of superimposing an on-screen display (OSD) image for displaying various information.
  • OSD on-screen display
  • the display processing performed by the display processing unit 219 on the image-processed image data is not particularly limited.
  • the display processing unit 219 accesses the DRAM 216 via the data bus 210 and acquires (reads) the image processed image data when displaying the display image corresponding to the image processed image data on the display device 30. At this time, the display processing unit 219 outputs an access request for requesting acquisition (reading) of the image-processed image data from the DRAM 216 to the bus arbitration unit 214. Then, after the output access request is accepted (permitted) by the bus arbitration unit 214, the display processing unit 219 accesses the DRAM 216. Accordingly, the display processing unit 219 acquires (reads) the image-processed image data stored in the DRAM 216 via the memory control unit 215, the bus arbitration unit 214, and the data bus 210. Then, the display processing unit 219 performs display processing on the obtained (read) image-processed image data to generate a display image, and outputs the display image to the display device 30 for display.
  • the display processing unit 219 may be configured to temporarily store the image-processed image data obtained (read) from the DRAM 216 and then perform the display processing. In addition, the display processing unit 219 may be configured to temporarily store the data of the display image subjected to the display processing, and then output the stored data of the display image to the display device 30 to display the data.
  • the display processing unit 219 transfers image processing image data to be displayed on the display device 30 by DMA transfer.
  • a DMA transfer unit (bus master) obtained (read) from the DRAM 216 is obtained.
  • the display processing unit 219 becomes a high-priority high-priority bus master.
  • the bus arbitration unit 214 and the bus arbitration unit 223 arbitrate an access request to the DRAM from each processing block connected to the corresponding data bus, and receive an access request to the DRAM from any processing block. Circuit (bus arbiter).
  • the bus arbitration unit 217 and the bus arbitration unit 226 are also processing blocks for arbitrating access requests to the corresponding DRAM. Therefore, the bus arbitration unit 214 arbitrates access requests to the DRAM 216 from the imaging processing unit 211, the digital signal processor 212, the image processing unit 213, the display processing unit 219, and the bus arbitration unit 217 connected to the data bus 210. And accept. Further, the bus arbitration unit 223 arbitrates and receives an access request to the DRAM 225 from the digital signal processor 221, the image processing unit 222, and the bus arbitration unit 226 connected to the data bus 220.
  • bus arbitration unit 214 and the bus arbitration unit 223 connect to the respective data buses connected to the corresponding data bus.
  • a DMA arbitration circuit that arbitrates and accepts a DMA request from the processing block to the DRAM 216.
  • the bus arbitration unit 214 and the bus arbitration unit 223 accept (permit) an access request to the corresponding DRAM from among the processing blocks that have output the access request, based on the priority of the corresponding processing block. ) Determine the processing block.
  • the CPU 23 controls the priority for determining the processing block in which the bus arbitration unit 214 and the bus arbitration unit 223 accept (permit) the access request. Therefore, the priority of the processing block corresponding to the bus arbitration unit 214 is set in the priority setting register 214R provided in the bus arbitration unit 214 by the CPU 23.
  • the priority of the processing block corresponding to the bus arbitration unit 223 is set by the CPU 23 in a priority setting register 223R provided in the bus arbitration unit 223.
  • the priority of the processing block corresponding to the bus arbitration unit 214 and the priority of the processing block corresponding to the bus arbitration unit 223 are respectively stored in the register 214R provided in the bus arbitration unit 214 and the bus arbitration unit 223. And the path (priority setting path) to be set for each of the registers 223R provided for the above.
  • the bus arbitration unit 214 determines a processing block that receives (permits) an access request to the DRAM 216 from the processing blocks that have output the access request, based on the priority set in the register 214R. Further, the bus arbitration unit 223 determines a processing block that receives (permits) an access request to the DRAM 225 from among processing blocks that have output the access request, based on the priority set in the register 223R.
  • the processing block whose access request has been accepted (permitted) accesses the corresponding DRAM (reads and writes data).
  • the bus arbitration unit 214 and the bus arbitration unit 223 exchange data with the processing block that has accepted (permitted) the access request via the corresponding data bus. At this time, the bus arbitration unit 214 and the bus arbitration unit 223 have received the access request when the access to the corresponding DRAM from the processing block that has received the access request is an access to store (write) data. The data output from the processing block to the corresponding data bus is output (transferred) to the corresponding memory control unit. On the other hand, when the access to the corresponding DRAM from the processing block that has received the access request is an access to acquire (read) data, the bus arbitration unit 214 and the bus arbitration unit 223 transmit the data from the corresponding memory control unit.
  • the output data is output (transferred) to the processing block that has received the access request via the corresponding data bus.
  • the bus arbitration unit 214 receives the access request from the processing block (the imaging processing unit 211, the digital signal processor 212, the image processing unit 213, the display processing unit 219, and the bus connected to the data bus 210).
  • the above-described data is transferred between the arbitration unit 217 and any one of the processing blocks) and the memory control unit 215 via the data bus 210.
  • the bus arbitration unit 223 includes a processing block that has received the access request (any one of the digital signal processor 221, the image processing unit 222, and the bus arbitration unit 226 connected to the data bus 220).
  • the above-described data is exchanged with the memory control unit 224 via the data bus 220.
  • the operation of arbitrating access requests and the operation of transferring data in the bus arbitration unit 214 and the bus arbitration unit 223 are the same as those of the existing bus arbiter (so-called DMA arbitration circuit). That is, the operation of the bus arbitration unit 214 and the bus arbitration unit 223 arbitrating the access request to the corresponding DRAM based on the priority set in the corresponding register by the CPU 23 and transferring the data is performed by the existing bus arbiter (so-called “bus arbiter”). , DMA arbitration circuit). Therefore, detailed description of the operation of arbitrating access requests and the operation of transferring data in the bus arbitration unit 214 and the bus arbitration unit 223 will be omitted.
  • the memory control unit 215 and the memory control unit 224 are DRAM controllers that actually transfer data to and from the corresponding DRAM based on access to the corresponding DRAM output (transferred) from the corresponding bus arbitration unit. is there. That is, each of the memory control unit 215 and the memory control unit 224 controls the corresponding DRAM based on the access to the DRAM output (transferred) from the corresponding bus arbitration unit. At this time, when the access to the corresponding DRAM is an access for storing (writing) data, the memory control unit 215 and the memory control unit 224 correspond to the data output (transferred) from the corresponding bus arbitration unit. To the DRAM to be stored and stored (written).
  • the memory control unit 215 and the memory control unit 224 read the data stored in the corresponding DRAM, and read the corresponding bus. Output to the arbitration unit. More specifically, the memory control unit 215 controls data storage (writing) and data reading for the DRAM 216 based on access to the DRAM 216 output (transferred) from the bus arbitration unit 214. The memory control unit 224 controls data storage (writing) and data reading for the DRAM 225 based on the access to the DRAM 225 output (transferred) from the bus arbitration unit 223.
  • the bus arbitration unit 217 and the bus arbitration unit 226 provide a direct access request from the corresponding image processing unit to the image processing unit of the other bus system and the other from the respective processing blocks connected to the corresponding data bus.
  • Arbitration circuit for arbitrating an access request to the DRAM of the bus system and accepting one of the access requests.
  • the bus arbitration unit 217 and the bus arbitration unit 226 output (transfer) the received access request and data corresponding to the access request to the corresponding bus controller.
  • the bus arbitration unit 217 transmits a direct access request from the image processing unit 213 to the image processing unit 222 provided in the bus system 22, the imaging processing unit 211 connected to the data bus 210, The access request to the DRAM 225 provided in the bus system 22 from the signal processor 212, the image processing unit 213, and the display processing unit 219 is arbitrated, and the received access request and data corresponding to the access request are transmitted to the bus controller 218.
  • the bus arbitration unit 226 receives a direct access request from the image processing unit 222 to the image processing unit 213 provided in the bus system 21, and a request from the digital signal processor 221 and the image processing unit 222 connected to the data bus 220. Arbitrates an access request to the DRAM 216 provided in the bus system 21 and outputs (transfers) the received access request and data corresponding to the access request to the bus controller 227.
  • the bus arbitration unit 217 and the bus arbitration unit 226 determine an access request to the other bus system to be accepted (permitted) from the respective access requests based on the priority of the access request to be arbitrated. As described above, in the bus arbitration system 20, the CPU 23 controls the priority for the bus arbitration unit 214 and the bus arbitration unit 223 to determine a processing block that accepts (permits) an access request. Similarly, in the bus arbitration unit 217 and the bus arbitration unit 226, the priority for determining an access request to the other bus system to be accepted (permitted) is controlled by the CPU 23. For this reason, the priority of the access request corresponding to the bus arbitration unit 217 is set by the CPU 23 in the priority setting register 217R provided in the bus arbitration unit 217.
  • the priority of the access request corresponding to the bus arbitration unit 226 is set by the CPU 23 in a priority setting register 226R provided in the bus arbitration unit 226.
  • the priority of the access request corresponding to the bus arbitration unit 217 and the priority of the access request corresponding to the bus arbitration unit 226 are respectively stored in the register 217R provided in the bus arbitration unit 217 and the bus arbitration unit 226.
  • 2 shows a path (priority setting path) to be set to each of the registers 226R provided for.
  • the bus arbitration unit 217 determines an access request to the bus system 22 to be accepted (permitted) from the respective access requests based on the priority set in the register 217R.
  • the accepted (permitted) access request to the bus system 22 and the data corresponding to the access request are output (transferred) to the bus system 22 via the bus controller 218.
  • the bus arbitration unit 226 determines an access request to the other bus system to be accepted (permitted) from the respective access requests based on the priority set in the register 226R.
  • the accepted (permitted) access request to the bus system 21 and the data corresponding to the access request are output (transferred) to the bus system 21 via the bus controller 227.
  • the operation of arbitrating an access request and the operation of transferring data in the bus arbitration unit 217 and the bus arbitration unit 226 can be considered in the same manner as the operation of the bus arbitration unit 214 and the bus arbitration unit 223. That is, the operation of the bus arbitration unit 217 and the bus arbitration unit 226 arbitrating the corresponding access request based on the priority set in the corresponding register by the CPU 23 and transferring the data is performed by the existing bus arbiter (so-called DMA arbitration). Circuit) can easily be considered. Therefore, detailed description of the operation of arbitrating access requests and the operation of transferring data in the bus arbitration unit 217 and the bus arbitration unit 226 will be omitted.
  • bus arbitration unit 217 and the bus arbitration unit 226 serve to directly request access from the image processing unit of the other bus system to the corresponding image processing unit and to respond to the request from each processing block provided in the other bus system.
  • This is a receiving circuit for receiving an access request to the DRAM via a data bus to be accessed.
  • the bus arbitration unit 217 and the bus arbitration unit 226 output (transfer) the received access request and the data corresponding to the access request to the corresponding image processing unit or the corresponding bus arbitration unit.
  • the bus arbitration unit 217 when receiving a direct access request to the image processing unit 213 from the image processing unit 222 provided in the bus system 22, the bus arbitration unit 217 responds to the received access request and this access request. The data is output (transferred) to the image processing unit 213. As a result, cooperative data is directly exchanged between the image processing unit 213 and the image processing unit 222.
  • the bus arbitration unit 217 receives an access request to the DRAM 216 via the data bus 210 from each processing block provided in the bus system 22, the bus arbitration unit 217 converts the received access request and data corresponding to the access request. Is output (transferred) to the bus arbitration unit 214.
  • the bus arbitration unit 217 when receiving an access request to the DRAM 216 via the data bus 210 from each processing block provided in the bus system 22, the bus arbitration unit 217 replaces each processing block provided in the bus system 22 with: An access request to the DRAM 216 is made. Therefore, the bus arbitration unit 217 is treated as a processing block for arbitrating an access request to the DRAM 216 from the bus arbitration unit 214, and the output (transferred) access request is arbitrated. In other words, the bus arbitration unit 214 arbitrates including an access request to the DRAM 216 from each processing block provided in the bus system 22, and accepts (permits) any access request.
  • the bus arbitration unit 226 receives a direct access request to the image processing unit 222 from the image processing unit 213 provided in the bus system 21, the bus arbitration unit 226 converts the received access request and data corresponding to the access request into data. Output (transfer) to the image processing unit 222. As a result, cooperative data is directly exchanged between the image processing unit 222 and the image processing unit 213.
  • the bus arbitration unit 226 receives an access request to the DRAM 225 via the data bus 220 from each processing block provided in the bus system 21, the bus arbitration unit 226 converts the received access request and data corresponding to this access request. , To the bus arbitration unit 223.
  • the bus arbitration unit 226 when receiving an access request to the DRAM 225 via the data bus 220 from each processing block provided in the bus system 21, the bus arbitration unit 226 replaces each processing block provided in the bus system 21 with: An access request to the DRAM 225 is made. Therefore, the bus arbitration unit 226 is treated as a processing block for arbitrating an access request to the DRAM 225 from the bus arbitration unit 223, and the output (transferred) access request is arbitrated. In other words, the bus arbitration unit 223 arbitrates including an access request to the DRAM 225 from each processing block provided in the bus system 21 and accepts (permits) any access request.
  • the bus controller 218 and the bus controller 227 exchange the access request output (transferred) from the corresponding bus arbitration unit and the data corresponding to the access request between the bus system 21 and the bus system 22. Interface section.
  • the bus controller 218 and the bus controller 227 exchange (transmit and receive) an access request output (transferred) from the corresponding bus arbitration unit and data corresponding to the access request in the same format.
  • each of the bus controller 218 and the bus controller 227 may be a communication unit that communicates an access request and data between the respective system LSIs.
  • each of the bus controller 218 and the bus controller 227 includes: An interface unit for exchanging an access request and data within the same system LSI may be used.
  • bus controller 218 and the bus controller 227 may exchange an access request and data in a parallel format, or may exchange an access request and data in a serial format.
  • the bus controller 218 and the bus controller 227 may exchange an access request and data in a format according to a predetermined high-speed serial bus specification transmission method such as PCI-Express (Peripheral Component Interconnect-Express). .
  • bus controller 218 and the bus controller 227 communicate with each other in a format in accordance with various predetermined specifications such as MIPI (registered trademark) (Mobile Industry Processor Interface) specification and AXI (Advanced eXtensible Interface) specification. May be exchanged.
  • MIPI registered trademark
  • AXI Advanced eXtensible Interface
  • the imaging device 1 captures a still image or a moving image of a subject with the image sensor 10 and causes the display device 30 to display a display image corresponding to the captured still image or the moving image.
  • the imaging device 1 can also record a still image or a moving image captured by the image sensor 10 on a recording medium (not shown).
  • the CPU 23 in the bus arbitration system 20 the bus arbitration unit 214 and the bus arbitration unit 217 in the bus system 21, and the bus arbitration unit 223 and the bus arbitration unit 226 in the bus system 22
  • the bus arbitration device according to the first embodiment is configured.
  • the priorities of the processing blocks connected to the respective data buses are matched.
  • the bus arbitration device of the first embodiment for arbitrating access to the memory is configured.
  • the CPU 23 controls the bus arbitration unit 214 and the bus arbitration unit 217 and the bus arbitration unit 223 and the bus arbitration unit 226 based on the operation mode of the imaging device 1.
  • the priority at the time of accepting (permitting) a memory access request from each processing block connected to the corresponding data bus is set in the provided priority setting register.
  • each of the bus arbitration unit 214 and the bus arbitration unit 217 and the bus arbitration unit 223 and the bus arbitration unit 226 transmits the data from the corresponding processing block to the memory.
  • the access request is accepted (permitted) based on the priority set in the priority setting register.
  • the access request to the memory from each corresponding processing block is matched for each data bus.
  • the processing blocks include a case where each processing block exchanges data via each other's data bus. The data flow in each data bus, that is, the bus bandwidth of the data bus can be secured.
  • the bus arbitration system 20 of the first embodiment including the bus arbitration device of the first embodiment can process each data without delay, and can execute the bus arbitration of the first embodiment.
  • the data processing time of the entire system of the imaging device 1 including the arbitration system 20 can be guaranteed.
  • FIG. 2 is a diagram showing an example of priorities when arbitrating an access request to a memory (DRAM 216 or DRAM 225) in the bus arbitration device according to the first embodiment of the present invention.
  • the CPU 23 operates the bus arbitration unit 214 and the bus arbitration unit 217 in the bus system 21 and the bus arbitration unit 217.
  • 3 shows an example of priorities set in the priority setting registers provided for the respective bus arbitration units 223 and 226.
  • the CPU 23 includes an imaging processing unit 211, a display processing unit 219, a digital signal processor 212, and an image processing unit connected to the data bus 210 corresponding to the bus arbitration unit 214.
  • An example of the priority set in the register 214R for arbitrating an access request to the DRAM 216 from the unit 213 and the bus arbitration unit 217 is shown.
  • FIG. 2A An example of the priority set in the register 214R for arbitrating an access request to the DRAM 216 from the unit 213 and the bus arbitration unit 217 is shown.
  • FIG. 2B illustrates a case where the CPU 23 requests a direct access to the image processing unit 222 provided in the bus system 22 from the image processing unit 213 corresponding to the bus arbitration unit 217, and the imaging processing unit 211
  • FIG. 2C the CPU 23 accesses the DRAM 225 from the digital signal processor 221, the image processing unit 222, and the bus arbitration unit 226 connected to the data bus 220 to which the bus arbitration unit 223 corresponds.
  • An example of the priority set in the register 223R for arbitrating requests is shown.
  • the CPU 23 sends a request for direct access to the image processing unit 213 provided in the bus system 21 from the image processing unit 222 corresponding to the bus arbitration unit 226, and the digital signal processor 221 and
  • An example of a priority set in the register 226R for arbitrating an access request via the data bus 220 to the DRAM 216 provided in the bus system 21 from the image processing unit 222 is shown.
  • the priority set in the priority setting registers provided in the bus arbitration unit 214 and the bus arbitration unit 217 and the bus arbitration unit 223 and the bus arbitration unit 226 is three levels. An example is shown. More specifically, “high” shown in FIG. 2 indicates that the priority is high, “medium” indicates that the priority is medium, and “low” indicates that the priority is low. I have.
  • the first mode in the imaging apparatus 1 is, for example, a mode in which a large image is divided into halves, and a series of signal processing based on the imaging processing image data is shared by the digital signal processor 212 and the digital signal processor 221.
  • This is a mode in which it is assumed that the amount of captured image data to be processed is large, and the amount of data exchanged between the bus system 21 and the bus system 22 is large to some extent.
  • the CPU 23 sets the priority of the imaging processing unit 211 to “high”, sets the priority of the display processing unit 219 to “high”, and sets the priority of the digital signal processor 212 to “high”.
  • the priority of the image processing unit 213 is set to “medium”, and the priority of the bus arbitration unit 217 is set to “medium”.
  • the CPU 23 sets the priority of the direct access request from the image processing unit 213 to the image processing unit 222 provided in the bus system 22 to “high”, and sets the data bus 210
  • the priority of an access request to the DRAM 225 provided in the bus system 22 via the bus is set to “low”.
  • the CPU 23 sets the priority of the digital signal processor 221 to “low”, the priority of the image processing unit 222 to “medium”, and sets the priority of the bus arbitration unit 226 to “low”. Set to Medium. As shown in FIG.
  • the CPU 23 sets the priority of the direct access request from the image processing unit 222 to the image processing unit 213 provided in the bus system 21 to “high”, and sets the data bus 220
  • the priority of the access request to the DRAM 216 provided in the bus system 21 via the bus is set to “low”.
  • the second mode in the imaging apparatus 1 is, for example, a mode in which the digital signal processor 221 in the bus system 22 performs a detection process of detecting a subject included in the imaging process image data.
  • this mode although the amount of data is small, data exchange between the bus system 21 and the bus system 22 frequently occurs.
  • the CPU 23 sets the priority of the imaging processing unit 211 to “high”, sets the priority of the display processing unit 219 to “high”, and sets the priority of the digital signal processor 212 to “high”. “Middle”, the priority of the image processing unit 213 is set to “low”, and the priority of the bus arbitration unit 217 is set to “medium”. Further, as shown in FIG.
  • the CPU 23 sets the priority of the direct access request from the image processing unit 213 to the image processing unit 222 provided in the bus system 22 to “low”, and sets the data bus 210 to the “low” priority.
  • the priority of the access request to the DRAM 225 provided in the bus system 22 via the interface is set to “high”.
  • the CPU 23 sets the priority of the digital signal processor 221 to “medium”, the priority of the image processing unit 222 to “low”, and sets the priority of the bus arbitration unit 226 to “low”. Set to Medium. Further, as shown in FIG.
  • the CPU 23 sets the priority of the direct access request from the image processing unit 222 to the image processing unit 213 provided in the bus system 21 to “low”, and sets the data bus 220 to “low”.
  • the priority of the access request to the DRAM 216 provided in the bus system 21 via the bus is set to “high”.
  • the third mode in the imaging apparatus 1 is, for example, a mode in which the digital signal processor 221 in the bus system 22 performs a part of signal processing on a large image, and performs processing between the bus system 21 and the bus system 22.
  • This is a mode in which it is assumed that the exchange of a part of the image-processed image data of the object to be performed frequently occurs.
  • the CPU 23 sets the priority of the imaging processing unit 211 to “high”, sets the priority of the display processing unit 219 to “high”, and sets the priority of the digital signal processor 212 to “high”. “Low”, the priority of the image processing unit 213 is set to “medium”, and the priority of the bus arbitration unit 217 is set to “low”.
  • the CPU 23 sets the priority of the direct access request from the image processing unit 213 to the image processing unit 222 provided in the bus system 22 to “medium”, and sets the data bus 210 The priority of the access request to the DRAM 225 provided in the bus system 22 via the interface is set to “medium”. Further, as shown in FIG. 2C, the CPU 23 sets the priority of the digital signal processor 221 to “medium”, the priority of the image processing unit 222 to “low”, and sets the priority of the bus arbitration unit 226 to “low”. Set to "Low”. Also, as shown in FIG.
  • the CPU 23 sets the priority of the direct access request from the image processing unit 222 to the image processing unit 213 provided in the bus system 21 to “medium”, and sets the data bus 220
  • the priority of the access request to the DRAM 216 provided in the bus system 21 via the bus is set to “medium”.
  • the CPU 23 provides the bus arbitration unit 214 and the bus arbitration unit 217 and the priority provided to each of the bus arbitration unit 223 and the bus arbitration unit 226 based on the operation mode of the imaging device 1.
  • the bus arbitration unit 214 and the bus arbitration unit 217, and the bus arbitration unit 223 and the bus arbitration unit 226 each have a corresponding data bus (data bus 210 and data bus 220).
  • the access to the memory can be arbitrated by matching the access request to the memory from each corresponding processing block.
  • the CPU 23 sets the priority in the bus arbitration unit 214 and the bus arbitration unit 217 and the priority setting register provided in each of the bus arbitration unit 223 and the bus arbitration unit 226 based on the operation mode of the imaging device 1.
  • the priority is not limited to the example combination shown in FIG. Therefore, the CPU 23 can set various combinations of priorities in the respective priority setting registers based on the operation mode of the imaging device 1.
  • FIG. 3 is a diagram illustrating an example of an operation of the imaging device 1 including the bus arbitration system 20 including the bus arbitration device according to the first embodiment of the present invention.
  • the image processing unit 213 and the image processing unit 222 perform image processing on the image processing image data that has been subjected to the image processing by the image processing unit 211, and the digital signal processor 212 and the digital signal
  • FIG. 3 shows a period in which each component is operating, such as a period in which each processing block provided in the bus arbitration system 20 processes corresponding data, and an access to each data. (Writing and reading).
  • the CPU 23 determines the priority of each processing block provided in the bus arbitration system 20 based on the operation mode of the imaging device 1. Note that the CPU 23 determines the operation mode of the imaging device 1 and determines the priority of each processing block before each processing block starts operating. Then, the CPU 23 determines the determined priority with the register 214R provided in the bus arbitration unit 214, the register 217R provided in the bus arbitration unit 217, the register 223R provided in the bus arbitration unit 223, and the register provided in the bus arbitration unit 226. 226R. At this time, the CPU 23 sets the priority of each processing block provided in the bus system 22 via the bus controller 218 provided in the bus system 21 and the bus controller 227 provided in the bus system 22.
  • the priority set by the CPU 23 is transmitted by the bus controller 218, and the priority received by the bus controller 227 is provided in the register 223R provided in the bus arbitration unit 223 and the bus arbitration unit 226. It is set in each of the registers 226R.
  • FIG. 3 shows that the priority of each processing block provided in the bus system 21 is set to each of the bus arbitration unit 214, the bus arbitration unit 217, the bus arbitration unit 223, and the bus arbitration unit 226.
  • each of the imaging processing unit 211 and the display processing unit 219 accesses the DRAM 216 at a constant interval for each one frame period. That is, the imaging processing unit 211 performs an imaging process on the pixel signal data output from the image sensor 10 at one-frame intervals, and stores (writes) the image-processed image data of each frame in the DRAM 216.
  • the display processing unit 219 causes the display device 30 to display a display image generated by performing display processing on the image-processed image data at one-frame intervals. Then, in the imaging apparatus 1, if the access to the DRAM 216 in each of the imaging processing unit 211 and the display processing unit 219 is waited, the operation of the imaging apparatus 1 as a system will fail. Therefore, in the following description, it is assumed that the priority of each of the imaging processing unit 211 and the display processing unit 219 is set to be the highest in the bus arbitration unit 214.
  • each processing block starts processing for each frame.
  • the operation of each processing block will be described.
  • the imaging processing unit 211 outputs imaging processing image data A obtained by performing imaging processing on pixel signal data for one frame output from the image sensor 10 to the data bus 210 and stores (writes) the data into the DRAM 216.
  • the access request is output to the bus arbitration unit 214.
  • the bus arbitration unit 214 receives (permits) an access request from the imaging processing unit 211, the imaging processing image data A output from the imaging processing unit 211 to the data bus 210 is transmitted to the bus arbitration unit 214 and the memory control unit.
  • the data is stored (written) in the DRAM 216 via the 215.
  • the image processing unit 213 acquires (reads) the captured image data A stored in the DRAM 216, performs image processing on the acquired captured image data A, and stores (writes) the data again in the DRAM 216. More specifically, the image processing unit 213 outputs to the bus arbitration unit 214 an access request to acquire (read) the image processing image data A from the DRAM 216. Then, when the bus arbitration unit 214 receives (permits) the access request from the image processing unit 213, the captured image data A stored in the DRAM 216 is transmitted via the memory control unit 215 and the bus arbitration unit 214. Output to the data bus 210. As a result, the image processing unit 213 acquires (reads) the captured image data A stored in the DRAM 216.
  • the image processing unit 213 performs image processing on the acquired image-captured image data A, and then outputs the processed image-processed image data C to the data bus 210, and stores (writes) the data into the DRAM 216. Is output to the bus arbitration unit 214.
  • the bus arbitration unit 214 receives (permits) an access request from the image processing unit 213
  • the image processing image data C output to the data bus 210 by the image processing unit 213 is transmitted to the bus arbitration unit 214 and the memory control unit.
  • the data is stored (written) in the DRAM 216 via the 215.
  • the image processing unit 213 is an intermediate image processing image data necessary for causing the image processing unit 222 to perform a part of image processing in a series of image processing performed on the acquired captured image data A.
  • the data Ci (hereinafter, referred to as “intermediate data”) such as data and coefficients is directly output to the image processing unit 222. More specifically, the image processing unit 213 outputs the intermediate data Ci to the bus arbitration unit 217, and outputs a direct access request to the image processing unit 222 to the bus arbitration unit 217.
  • the bus arbitration unit 217 receives (permits) an access request from the image processing unit 213, the intermediate data Ci output from the image processing unit 213 to the bus arbitration unit 217 is output to the bus controller 218, and the bus controller 218 Is transmitted to the bus controller 227. Then, the bus controller 227 receives the intermediate data Ci transmitted from the bus controller 218, outputs the intermediate data Ci to the bus arbitration unit 226, and outputs a direct access request to the image processing unit 222. Then, when the bus arbitration unit 226 receives (permits) an access request from the bus controller 227, the intermediate data Ci output by the bus controller 227, that is, the intermediate data output by the image processing unit 213 performing image processing halfway. Ci is output to the image processing unit 222.
  • the digital signal processor 212 acquires (reads) the image-captured image data A stored in the DRAM 216, performs signal processing (detection processing in FIG. 3) on the acquired image-processed image data A, and again performs the DRAM 216. To be stored (written). More specifically, the digital signal processor 212 outputs an access request for acquiring (reading) the captured image data A from the DRAM 216 to the bus arbitration unit 214. Then, when the bus arbitration unit 214 receives (permits) an access request from the digital signal processor 212, the imaging processing image data A stored in the DRAM 216 is transmitted via the memory control unit 215 and the bus arbitration unit 214. Output to the data bus 210.
  • the digital signal processor 212 acquires (reads) the captured image data A stored in the DRAM 216. Further, the digital signal processor 212 performs a detection process on the acquired image-processed image data A, and then outputs the signal-processed data B on which the detection process has been performed to the data bus 210 to store (write) the data into the DRAM 216.
  • the access request is output to the bus arbitration unit 214.
  • the bus arbitration unit 214 receives (permits) an access request from the digital signal processor 212, the signal processing data B output to the data bus 210 by the digital signal processor 212 is transmitted to the bus arbitration unit 214 and the memory control unit 215. Is stored (written) in the DRAM 216 via the.
  • the digital signal processor 212 performs a detection process and uses a part of the signal processing data B stored (written) in the DRAM 216 for data used by the image processing unit 222 for image processing (hereinafter, referred to as “data”). (Referred to as “detection data”) Bp. More specifically, the digital signal processor 212 outputs an access request to acquire (read) the detection data Bp from the DRAM 216 to the bus arbitration unit 217. Accordingly, the bus arbitration unit 217 outputs an access request for acquiring (reading) the detection data Bp from the DRAM 216 to the bus arbitration unit 214.
  • the bus arbitration unit 214 receives (permits) the access request from the bus arbitration unit 217
  • the detection data Bp stored in the DRAM 216 is transmitted to the data bus via the memory control unit 215 and the bus arbitration unit 214. Output to 210.
  • the bus arbitration unit 217 acquires (reads) the detection data Bp stored in the DRAM 216.
  • the bus arbitration unit 217 outputs the acquired detection data Bp to the bus controller 218, and the bus controller 218 transmits the detection data Bp to the bus controller 227.
  • the bus controller 227 receives the detection data Bp transmitted from the bus controller 218 and outputs it to the bus arbitration unit 226.
  • the bus arbitration unit 226 outputs the detection data Bp output from the bus controller 227 to the data bus 220, and outputs a storage (write) access request to the DRAM 225 to the bus arbitration unit 223.
  • the bus arbitration unit 223 receives (permits) an access request from the bus arbitration unit 226, the detection data Bp output from the bus arbitration unit 226 to the data bus 220 transmits the detection data Bp to the bus arbitration unit 223 and the memory control unit 224. Then, it is stored (written) in the DRAM 225 via the CPU.
  • the image processing unit 222 returns the image-processed image data D obtained by performing the image processing on the intermediate data Ci output from the bus arbitration unit 226 to the bus system 21 and stores (writes) it in the DRAM 216. More specifically, the image processing unit 222 outputs the image-processed image data D to the bus arbitration unit 226, and outputs a storage (write) access request to the DRAM 216 to the bus arbitration unit 226. Then, when the bus arbitration unit 226 receives (permits) an access request from the image processing unit 222, the image processing image data D output from the image processing unit 222 to the bus arbitration unit 226 is output to the bus controller 227, and the bus The controller 227 transmits to the bus controller 218.
  • the bus controller 218 receives the image-processed image data D transmitted from the bus controller 227 and outputs it to the bus arbitration unit 217.
  • the bus arbitration unit 217 outputs the image-processed image data D output from the bus controller 218 to the data bus 210, and outputs a storage (write) access request to the DRAM 216 to the bus arbitration unit 214.
  • the bus arbitration unit 214 receives (permits) an access request from the digital signal processor 212
  • the image processing image data D output to the data bus 210 by the bus arbitration unit 217 is transmitted to the bus arbitration unit 214 and the memory control unit.
  • the data is stored (written) in the DRAM 216 via the 215.
  • the image processing unit 222 When performing image processing on the intermediate data Ci, the image processing unit 222 acquires (reads) the detection data Bp stored in the DRAM 225 as necessary, and uses the acquired detection data Bp. , The intermediate data Ci may be subjected to image processing. In this case, the image processing unit 222 outputs an access request to acquire (read) the detection data Bp from the DRAM 225 to the bus arbitration unit 223. When the bus arbitration unit 223 receives (permits) the access request from the image processing unit 222, the detection data Bp stored in the DRAM 225 is transmitted to the data bus via the memory control unit 224 and the bus arbitration unit 223. Output to 220. Accordingly, the image processing unit 222 can acquire (read) the detection data Bp stored in the DRAM 225 and perform image processing on the intermediate data Ci using the acquired detection data Bp.
  • the display processing unit 219 acquires (reads) the image processing image data C and the image processing image data D (hereinafter, referred to as “display image data”) E stored in the DRAM 216, and reads out the acquired display image data E.
  • the display image subjected to the display processing is displayed on the display device 30. More specifically, the display processing unit 219 outputs an access request for acquiring (reading) the display image data E from the DRAM 216 to the bus arbitration unit 214. Then, when the bus arbitration unit 214 receives (permits) the access request from the display processing unit 219, the display image data E stored in the DRAM 216 is transferred to the data control unit 215 via the memory control unit 215 and the bus arbitration unit 214. Output to the bus 210.
  • the display processing unit 219 acquires (reads) the display image data E stored in the DRAM 216. Then, the display processing unit 219 performs display processing on the acquired display image data E to generate a display image, and outputs the generated display image to the display device 30 for display.
  • the digital signal processor 221 stores the image processing image data A, the signal processing data B, the image processing image data C, and the image processing image data D (hereinafter, referred to as “previous frame data”) F of the previous frame stored in the DRAM 216. Is acquired (read), and signal processing (processing in FIG. 3) is performed on the acquired previous frame data F. Note that the digital signal processor 221 processes the previous frame data F once every two frames. Then, the digital signal processor 221 stores (writes) the processed data G subjected to the processing in the DRAM 216 again. More specifically, the digital signal processor 221 outputs an access request for acquiring (reading) the previous frame data F from the DRAM 216 to the bus arbitration unit 226.
  • the bus arbitration unit 226 outputs an access request from the digital signal processor 221 to the bus arbitration unit 217 via the bus controller 227 and the bus controller 218. Then, the bus arbitration unit 217 outputs an access request for acquiring (reading) the previous frame data F from the DRAM 216 to the bus arbitration unit 214. Then, when the bus arbitration unit 217 receives (accesses) the access request from the bus arbitration unit 217, that is, the access request from the digital signal processor 221, the previous frame data F stored in the DRAM 216 is transferred to the memory control unit. The data is output to the data bus 210 via the bus 215 and the bus arbitration unit 214.
  • the bus arbitration unit 217 acquires (reads) the previous frame data F stored in the DRAM 216, outputs the data to the bus controller 218, and the bus controller 218 transmits the data to the bus controller 227. Then, the bus controller 227 receives the previous frame data F transmitted from the bus controller 218 and outputs it to the bus arbitration unit 226. The bus arbitration unit 226 outputs the previous frame data F output from the bus controller 227 to the data bus 220, and outputs a storage (write) access request to the DRAM 225 to the bus arbitration unit 223.
  • the bus arbitration unit 223 receives (permits) an access request from the bus arbitration unit 226, the previous frame data F output to the data bus 220 by the bus arbitration unit 226 is transmitted to the bus arbitration unit 223 and the memory control unit 224. Is stored (written) in the DRAM 225 via the.
  • the digital signal processor 221 acquires (reads) the previous frame data F stored in the DRAM 225, and stores (writes) the processed data G obtained by processing the acquired previous frame data F in the DRAM 225. ). More specifically, the digital signal processor 221 outputs an access request for acquiring (reading) the previous frame data F from the DRAM 225 to the bus arbitration unit 223.
  • the bus arbitration unit 223 receives (permits) an access request from the digital signal processor 221
  • the previous frame data F stored in the DRAM 225 is transferred to the data control unit 224 via the memory control unit 224 and the bus arbitration unit 223. Output to the bus 220.
  • the digital signal processor 221 acquires (reads) the previous frame data F stored in the DRAM 225.
  • the digital signal processor 221 performs the processing on the obtained previous frame data F, and then outputs the processed data G on which the processing has been performed to the data bus 220 to access the storage (write) to the DRAM 225.
  • the request is output to the bus arbitration unit 223.
  • the bus arbitration unit 223 receives (permits) an access request from the digital signal processor 221
  • the processed data G output to the data bus 220 by the digital signal processor 221 is transferred to the bus arbitration unit 223 and the memory control unit 224. Is stored (written) in the DRAM 225 via the.
  • the digital signal processor 221 stores (writes) the processed data G stored in the DRAM 225 in the DRAM 216 again. More specifically, the digital signal processor 221 outputs an access request for storing (writing) the processing data G in the DRAM 216 to the bus arbitration unit 226. Accordingly, the bus arbitration unit 226 outputs an access request for acquiring (reading) the processing data G from the DRAM 225 to the bus arbitration unit 223.
  • the bus arbitration unit 223 receives (permits) the access request from the bus arbitration unit 226, the processing data G stored in the DRAM 225 is transferred to the data processing unit 224 via the memory control unit 224 and the bus arbitration unit 223. Output to the bus 220.
  • the bus arbitration unit 226 acquires (reads) the processing data G stored in the DRAM 225.
  • the bus arbitration unit 226 outputs the acquired processing data G to the bus controller 227, and the bus controller 227 transmits the processed data G to the bus controller 218.
  • the bus controller 218 receives the processing data G transmitted from the bus controller 227 and outputs it to the bus arbitration unit 217.
  • the bus arbitration unit 217 outputs the processing data G output from the bus controller 218 to the data bus 210, and outputs a storage (write) access request to the DRAM 216 to the bus arbitration unit 214.
  • the bus arbitration unit 214 receives (permits) the access request from the bus arbitration unit 217, the processing data G output to the data bus 210 by the bus arbitration unit 217 is transmitted to the bus arbitration unit 214 and the memory control unit 215. Is stored (written) in the DRAM 216 via the.
  • each processing block outputs an access request to the DRAM 216 or 225. Then, in the bus arbitration system 20, the bus arbitration unit 214 and the bus arbitration unit 217 provided in the bus system 21 and the bus arbitration unit 223 and the bus arbitration unit 226 provided in the bus system 22 are each processed by a corresponding processing block. Arbitration based on the set priority. More specifically, the bus arbitration unit 214 stores (writes) the image processing image data A from the image processing unit 211, acquires (reads) the image processing image data A from the digital signal processor 212, and outputs the signal processing data.
  • the bus arbitration unit 226 outputs the intermediate data Ci directly from the bus controller 227 to the image processing unit 222, transfers the detection data Bp and the previous frame data F from the bus controller 227, and The access requests for direct transfer of image processing image data D and transfer of previous frame data F and processed data G from the digital signal processor 221 are arbitrated. Further, the bus arbitration unit 223 stores (writes) the detection data Bp and the previous frame data F from the bus arbitration unit 226 and acquires (reads) the processed data G, and acquires the detection data Bp from the image processing unit 222. The access requests for (reading), obtaining (reading) the previous frame data F from the digital signal processor 221 and storing (writing) the processed data G are arbitrated.
  • the bus arbitration system 20 sends the CPU 23, the bus arbitration unit 214, the bus arbitration unit 217, and the bus access request from each processing block provided in the bus system 21 and the bus system 22 to the memory.
  • the bus arbitration device according to the first embodiment including the arbitration unit 223 and the bus arbitration unit 226 arbitrates.
  • the bus arbitration unit 214 has the highest priority so that the access to the DRAM 216 by the imaging processing unit 211 and the display processing unit 219 does not have to wait. You have set. Therefore, in the bus arbitration system 20, an access request to the DRAM 216 from a processing block other than the imaging processing unit 211 and the display processing unit 219 arbitrated by the bus arbitration unit 214 waits according to the current bus bandwidth of the data bus 210. May be The state in which the access request to the DRAM 216 is waiting is also shown in FIG. More specifically, in FIG. 3, the interval between the imaging processes by the imaging processor 211 and the interval between the display processes by the display processor 219 are constant at intervals of one frame period. On the other hand, in FIG.
  • the intervals of the image processing by the image processing unit 213, the intervals of the detection processing by the digital signal processor 212, and the intervals of the image processing by the image processing unit 222 are different for each frame.
  • the image processing interval (processing interval) of the image processing unit 222 includes the processing interval between the first frame and the second frame, the processing interval between the second frame and the third frame, and the like. Is different. This is due to the fact that the processing by the digital signal processor 221 has occurred before the image processing unit 222 completes the image processing of the first frame and starts the image processing of the second frame. It is. Note that the processing time in each processing block may also change due to the effect of the processing performed by other processing blocks.
  • the CPU 23 determines the priority of the processing block corresponding to each of the bus arbitration unit 214 and the bus arbitration unit 217, and the bus arbitration unit 223 and the bus arbitration unit 226.
  • the setting is made based on the operation mode of the imaging device 1.
  • the data flow in each data bus that is, the bus bandwidth of the data bus can be secured.
  • the bus arbitration system 20 of the first embodiment including the bus arbitration device of the first embodiment the data processing time in each processing block is secured, and the bus arbitration system of the first embodiment is provided. The operation of the entire system of the imaging device 1 equipped with the device 20 can be guaranteed.
  • a plurality of processing blocks (the imaging processing unit 211, the digital signal processor 212, the image processing unit 213, the bus arbitration unit 217, and the bus controller) sharing the memory with at least one memory (DRAM 216, DRAM 225) 218, the display processing unit 219, the digital signal processor 221, the image processing unit 222, the bus arbitration unit 226, the bus controller 227), and a plurality of data buses (data bus 210, data bus 220).
  • a bus arbitration device (bus arbitration device) that arbitrates access to any one of the memories according to the first data bus (data bus 210), which is a data bus to which the first memory (DRAM 216) is connected.
  • Processing block imaging processing unit 211, digital A first bus arbitration unit (bus arbitration unit 214) for arbitrating an access request to the DRAM 216 output from the signal processor 212, the image processing unit 213, the bus arbitration unit 217, and the display processing unit 219), and a second memory.
  • bus arbitration unit 214 for arbitrating an access request to the DRAM 216 output from the signal processor 212, the image processing unit 213, the bus arbitration unit 217, and the display processing unit 219), and a second memory.
  • data bus 220 which is the data bus to which the (DRAM 225) is connected
  • an access request for the DRAM 225 output from the processing block digital signal processor 221, image processing unit 222, bus arbitration unit 226) is received.
  • Each of the bus arbitration unit 214 and the bus arbitration unit 223 receives an access request, including a second bus arbitration unit (bus arbitration unit 223) to arbitrate, an access request to the DRAM 216, and an access request to the DRAM 225.
  • the plurality of processing blocks connected to the data bus 210 include the first processing block (the bus arbitration unit 217 and the bus controller 218 may be included) that accesses the DRAM 225.
  • the plurality of processing blocks connected to the data bus 220 include a second processing block (which may include a bus arbitration unit 226 and a bus controller 227) accessing the DRAM 216, and the CPU 23 outputs a signal from the bus arbitration unit 217.
  • the bus arbitration device is configured to control the priority of the access request received by each of the bus arbitration unit 214 and the bus arbitration unit 223, including the access request that has been received and the access request output from the bus arbitration unit 226. You.
  • the CPU 23 sets priorities in the bus arbitration unit 214 and the bus arbitration unit 223 (for example, sets priorities in the priority setting registers 214R and 223R). Then, each of the bus arbitration unit 214 and the bus arbitration unit 223 determines a processing block that receives an access request to the corresponding memory (DRAM 216 or DRAM 225) based on the set priority (for example, in a register).
  • a bus arbitration device is configured.
  • the CPU 23 controls the priority of an access request received by each of the bus arbitration unit 214 and the bus arbitration unit 223 via the bus arbitration unit 217 and the bus arbitration unit 226. And a bus arbitration device.
  • At least one memory (DRAM 216, DRAM 225) and a plurality of processing blocks (imaging processing unit 211, digital signal processor 212, image processing unit 213, bus arbitration unit 217, Each of a plurality of data buses (data bus 210, data bus 220) connected to a bus controller 218, a display processing unit 219, a digital signal processor 221, an image processing unit 222, a bus arbitration unit 226, and a bus controller 227).
  • a first data bus (data bus 210) which is a bus arbitration device (bus arbitration device) for arbitrating access to any one of the memories by the processing block, and which is a data bus to which a first memory (DRAM 216) is connected;
  • a first bus arbitration unit (bus arbitration unit 214) for arbitrating an access request to the DRAM 216 output from the digital signal processor 212, the image processing unit 213, the bus arbitration unit 217, and the display processing unit 219), and a second memory
  • On the second data bus (data bus 220), which is the data bus to which the (DRAM 225) is connected, an access request for the DRAM 225 output from the processing block (digital signal processor 221, image processing unit 222, bus arbitration unit 226) is received.
  • Each of the bus arbitration unit 214 and the bus arbitration unit 223 receives an access request, including a second bus arbitration unit (bus arbitration unit 223) to arbitrate, an access request to the DRAM 216, and an access request to the DRAM 225.
  • a priority control unit (CPU 23) for controlling the priority at the time of Bus arbiter (bus arbiter) comprises, consists bus arbitration system (bus arbitration system 20).
  • At least one memory (DRAM 216, DRAM 225) and a plurality of processing blocks (imaging processing unit 211, digital signal processor 212, image processing unit 213, bus arbitration unit 217, Each of a plurality of data buses (data bus 210, data bus 220) connected to a bus controller 218, a display processing unit 219, a digital signal processor 221, an image processing unit 222, a bus arbitration unit 226, and a bus controller 227).
  • a first data bus (data bus 210) which is a bus arbitration device (bus arbitration device) for arbitrating access to any one of the memories by the processing block, and which is a data bus to which a first memory (DRAM 216) is connected;
  • a first bus arbitration unit (bus arbitration unit 214) for arbitrating an access request to the DRAM 216 output from the digital signal processor 212, the image processing unit 213, the bus arbitration unit 217, and the display processing unit 219), and a second memory
  • On the second data bus (data bus 220), which is the data bus to which the (DRAM 225) is connected, an access request for the DRAM 225 output from the processing block (digital signal processor 221, image processing unit 222, bus arbitration unit 226) is received.
  • Each of the bus arbitration unit 214 and the bus arbitration unit 223 receives an access request, including a second bus arbitration unit (bus arbitration unit 223) to arbitrate, an access request to the DRAM 216, and an access request to the DRAM 225.
  • a priority control unit (CPU 23) for controlling the priority at the time of Bus arbitration system comprising a bus arbiter (bus arbiter) was (bus arbitration system 20) comprises an imaging device (imaging apparatus 1) is constructed.
  • the CPU 23 in the bus arbitration system 20 controls the bus arbitration unit in the bus system 21 based on the operation mode of the imaging device 1 equipped with the bus arbitration system 20.
  • the bus arbitration unit 214 and the bus arbitration unit 217 and the bus arbitration unit 223 and the bus arbitration unit 226 in the bus system 22 respectively determine the fixed priority required for securing the bus bandwidth of the corresponding data bus in each processing block. Determined for each. That is, in the bus arbitration device of the first embodiment, the CPU 23 controls the bus arbitration unit 214 and the bus arbitration unit 217, and the bus arbitration unit 223 and the bus arbitration unit 226, each of which is connected to the corresponding data bus.
  • a fixed priority when accepting (permitting) a memory access request from a processing block is determined.
  • the CPU 23 stores, in the priority setting registers provided in the bus arbitration unit 214 and the bus arbitration unit 217, and the bus arbitration unit 223 and the bus arbitration unit 226, respectively. Set the determined priority.
  • each of the bus arbitration unit 214 and the bus arbitration unit 217 and the bus arbitration unit 223 and the bus arbitration unit 226 transmits the data from the corresponding processing block to the memory.
  • the access request is arbitrated based on the priority set in the priority setting register.
  • the access request to the memory from each corresponding processing block is matched for each data bus.
  • access to the memory can be arbitrated. That is, in the bus arbitration device of the first embodiment, the CPU 23 determines the priority setting register provided in each of the bus arbitration unit 214 and the bus arbitration unit 217, and the bus arbitration unit 223 and the bus arbitration unit 226. With an easy configuration of setting a fixed priority, it is possible to appropriately arbitrate requests for access to the memory from each processing block.
  • the processing blocks include a case where each processing block exchanges data via each other's data bus. , A bus band in each data bus can be secured.
  • the bus arbitration system 20 of the first embodiment including the bus arbitration device of the first embodiment can process each data without delay, and can execute the bus arbitration of the first embodiment. The operation of the imaging apparatus 1 including the arbitration system 20 as a whole system can be guaranteed.
  • the CPU 23 sets the priority of each processing block included in the bus system 22 in the bus system 21.
  • the case of setting via the bus controller 218 and the bus controller 227 provided in the bus system 22 has been described.
  • the bus system 21 and the bus system 22 are configured by one system LSI. Therefore, in the bus arbitration device of the first embodiment, the setting of the priority of each processing block provided in the bus system 22 by the CPU 23 is performed by the bus controller 218 provided in the bus system 21 and the bus provided in the bus system 22.
  • the setting is not limited to the setting via the controller 227.
  • the CPU 23 determines the priority of each processing block provided in the bus system 22 by the bus controller 218 provided in the bus system 21 and the bus controller 227 provided in the bus system 22. May be directly set in the priority setting registers provided in each of the bus arbitration unit 223 and the bus arbitration unit 226, without passing through.
  • the bus arbitration system 20 of the first embodiment including the bus arbitration device of the first embodiment a case has been described in which the bus system 21 and the bus system 22 are configured by one system LSI.
  • the configuration of the bus arbitration system including the bus arbitration device of the present invention is not limited to the configuration of one system LSI, and may be configured by two different system LSIs.
  • the CPU 23 may be configured as a component different from each system LSI. In this case, the CPU 23 determines the priority of the processing block provided in each bus system as the bus arbitration unit 214 and the memory control unit 215 in the bus system 21 configured as one system LSI and the other system LSI.
  • the configuration may be such that the priority is directly set in the priority setting register provided in each of the bus arbitration unit 223 and the bus arbitration unit 226 in the bus system 22. That is, in the bus arbitration device of the first embodiment, the CPU 23 determines the priority of each processing block provided in the bus system 22 by the bus controller 218 provided in the bus system 21 and the bus controller 227 provided in the bus system 22. However, as in the case of the bus system 21, the setting may be directly set in the priority setting registers provided in each of the bus arbitration unit 223 and the bus arbitration unit 226.
  • the CPU 23 determines a fixed priority corresponding to each processing block based on the operation mode of the imaging device 1 and determines the priority provided in each bus arbitration unit.
  • the configuration is such that the register is set in the setting register has been described.
  • the frequency of accessing the memory in each processing stage may be different. That is, it is conceivable that the priority required for each processing block differs for each processing stage.
  • the bus arbitration device of the present invention may be configured to dynamically change the priority at the time of accessing the memory according to the state of processing in each processing block to be arbitrated.
  • the bus arbitration device is configured to request access to a memory connected to each data bus when a processing block for performing a plurality of types of image processing is connected to each data bus. Arbitration.
  • the bus arbitration device is mounted on an imaging device such as a still image camera or a moving image camera, for example, according to the second embodiment of the present invention. A case where the system is provided in the bus arbitration system will be described.
  • FIG. 4 is a block diagram showing a schematic configuration of an imaging device equipped with a bus arbitration system including a bus arbitration device according to the second embodiment of the present invention.
  • the configuration of the imaging device equipped with the bus arbitration system having the bus arbitration device of the second embodiment shown in FIG. 4 includes the bus arbitration system having the bus arbitration device of the first embodiment shown in FIG. 20 includes the same components as those of the imaging device 1 on which the camera 20 is mounted. Therefore, in the components of the imaging device equipped with the bus arbitration system having the bus arbitration device of the second embodiment, the components of the imaging device 1 equipped with the bus arbitration system 20 having the bus arbitration device of the first embodiment are included.
  • the same reference numerals are given to the same components as the components, and the detailed description of each component is omitted.
  • the configuration of the bus arbitration system including the bus arbitration device of the second embodiment shown in FIG. 4 and the bus arbitration system of the second embodiment includes the bus arbitration of the first embodiment shown in FIG. It includes components similar to those of the bus arbitration system 20 including the device and the bus arbitration device of the first embodiment. Therefore, in the components of the bus arbitration device of the second embodiment and the bus arbitration system including the bus arbitration device of the second embodiment, the bus arbitration device of the first embodiment and the bus arbitration of the first embodiment.
  • the same components as those of the bus arbitration system 20 including the devices are denoted by the same reference numerals, and detailed description of each component will be omitted.
  • the imaging device 2 illustrated in FIG. 4 includes the image sensor 10, the bus arbitration system 40, and the display device 30.
  • the bus arbitration system 40 includes two bus systems (a bus system 41 and a bus system 42) and a CPU 43.
  • the bus system 41 includes an imaging processing unit 411, a digital signal processor 412, an image processing unit 413, a bus arbitration unit 414, a memory control unit 215, a DRAM 216, a bus arbitration unit 417, and a bus controller 218. , And a display processing unit 419.
  • the image processing unit 413 includes three image processing module image processing units (image processing modules 4131 to 4133) and two selectors (selector 4134 and selector 4135).
  • Each of the imaging processing unit 411, the digital signal processor 412, the image processing modules 4131 to 4133, the bus arbitration unit 417, and the display processing unit 419 includes a register for setting a priority.
  • the imaging processing unit 411 includes a register 411R
  • the digital signal processor 412 includes a register 412R
  • the image processing module 4131 includes a register 4131R
  • the image processing module 4132 includes a register 4132R
  • the image processing module 4133 has a register 4133R
  • the bus arbitration unit 417 has a register 417R
  • the display processing unit 419 has a register 419R.
  • the imaging processing unit 411, the digital signal processor 412, the image processing module 4131, the image processing module 4132, and the image processing module 4133 in the image processing unit 413, the bus arbitration unit 414, and the bus arbitration unit 417 And the display processing unit 419 are connected to a common data bus 210.
  • the bus system 42 includes a digital signal processor 421, an image processing unit 422, a bus arbitration unit 423, a memory control unit 224, a DRAM 225, a bus arbitration unit 426, and a bus controller 227.
  • the image processing unit 422 includes two selectors (selectors 4221 and 4222) and three image processing module image processing units (image processing modules 4223 to 4225).
  • Each of the digital signal processor 421, the image processing modules 4223 to 4225, and the bus arbitration unit 426 includes a register for setting a priority.
  • the digital signal processor 421 includes a register 421R
  • the image processing module 4223 includes a register 4223R
  • the image processing module 4224 includes a register 4224R
  • the image processing module 4225 includes a register 4225R
  • the bus arbitration unit 426 Has a register 426R.
  • each of the digital signal processor 421, the image processing module 4223, the image processing module 4224, and the image processing module 4225 in the image processing unit 422, the bus arbitration unit 423, and the bus arbitration unit 426 are common. Is connected to the data bus 220.
  • the configuration with 426 corresponds to the bus arbitration device of the second embodiment.
  • the imaging device 2 also captures a still image or a moving image of a subject using the image sensor 10 and displays a display image corresponding to the captured still image or moving image. Is displayed on the display device 30.
  • the imaging apparatus 2 can also record a recorded still image or a recorded image corresponding to a moving image on a recording medium (not shown), similarly to the imaging apparatus 1 in the first embodiment.
  • the bus arbitration system 40 performs a predetermined image processing on the pixel signal output from the image sensor 10 in the same manner as the bus arbitration system 20 according to the first embodiment shown in FIG. Generate an image. Further, similarly to the bus arbitration system 20 in the first embodiment, the bus arbitration system 40 generates a display image corresponding to the generated still image or moving image, and causes the display device 30 to display the generated display image. Further, similarly to the bus arbitration system 20 in the first embodiment, the bus arbitration system 40 generates a recording image according to the generated still image or moving image, and records the generated recording image on a recording medium (not shown). It can also be done.
  • an imaging processing unit 411, a digital signal processor 412, an image processing module 4131, an image processing module 4132, an image processing module 4133, and a display processing unit 419 provided in the bus system 41 and a display processing unit 419 are provided in the bus system 42.
  • Each of the digital signal processor 421, the image processing module 4223, the image processing module 4224, and the image processing module 4225 is a processing block that implements a processing function of performing image processing in the bus arbitration system 40.
  • each of the imaging processing unit 411, the digital signal processor 412, the image processing module 4131, the image processing module 4132, the image processing module 4133, and the display processing unit 419 provided in the bus system 41 uses the data bus 210. Access the DRAM 216 via In the bus arbitration system 40, each of the digital signal processor 421, the image processing module 4223, the image processing module 4224, and the image processing module 4225 provided in the bus system 42 accesses the DRAM 225 via the data bus 220. At this time, in the bus arbitration system 40, similarly to the bus arbitration system 20 in the first embodiment, each processing block provided in the bus system 41 and the bus system 42 accesses the DRAM 216 or 225 by, for example, DMA transfer. .
  • bus arbitration system 40 similarly to the bus arbitration system 20 in the first embodiment, data can be exchanged between the bus system 41 and the bus system 42. Also at this time, similarly to the bus arbitration system 20 in the first embodiment, each processing block provided in the bus system 41 and the bus system 42 passes through each other's data bus (the data bus 210 and the data bus 220). Then, for example, the DRAM 216 or the DRAM 225 is accessed by DMA transfer.
  • the image processing unit 413 provided in the bus system 41 and the image processing unit 422 provided in the bus system 42 are mutually different. Image processing in the bus arbitration system 40 can also be performed in cooperation. Also at this time, similarly to the bus arbitration system 20 in the first embodiment, the image processing unit 413 provided in the bus system 41 and the image processing unit 422 provided in the bus system 42 are connected to each other's data bus (data bus 210). And the data to be linked can be directly exchanged without passing through the data bus 220).
  • the CPU 43 controls the priority when each processing block provided in the bus system 41 and the bus system 42 accesses the DRAM 216 or 225. However, in the bus arbitration system 40, the CPU 43 sets the priority of access to the DRAM 216 or the DRAM 225 by each processing block based on the operation mode of the imaging device 2, and then monitors the progress of processing in each processing block. Then, the priority of each processing block is dynamically changed based on the observation result. For example, a case is considered where the image processing module 4132 provided in the image processing unit 413 performs distortion correction processing of an optical system such as barrel distortion on captured image data. The barrel distortion is more distorted at the upper end and the lower end of the image.
  • the image processing module 4132 performs the distortion correction processing on the upper end or the lower end of the image, more image processing image data is used than when performing the distortion correction processing on the center of the image.
  • the image processing module 4132 performs the distortion correction processing of the upper end or the lower end of the image, if the access to the DRAM is waited in the same manner as the distortion correction processing of the center of the image, the distortion correction processing is performed. It may take a lot of time, so that the data processing time of the entire system of the imaging device 2 cannot be guaranteed. For this reason, the CPU 43 observes the progress of the distortion correction processing in the image processing module 4132, and controls the access to the DRAM by the image processing module 4132, that is, the control so that the acquisition of the image processing image data is not waited for. .
  • the CPU 43 calculates the remaining time until the distortion correction processing is completed. (Time to spare) is calculated. Then, the CPU 43 compares the calculated margin time with a predetermined time threshold (urgency determination threshold value) for determining the degree of urgency of the distortion correction processing, and compares the calculated margin time with the urgency of the distortion correction processing in the image processing module 4132. Determine the degree.
  • a predetermined time threshold for determining the degree of urgency of the distortion correction processing
  • the CPU 43 determines that the urgency of the distortion correction processing in the image processing module 4132 is not high.
  • the margin time falls below the urgency determination threshold, it is determined that the urgency of the distortion correction processing in the image processing module 4132 is high. If the CPU 43 determines that the urgency of the distortion correction processing in the image processing module 4132 is not high, the CPU 43 does not change the priority of the image processing module 4132 and the urgency of the distortion correction processing in the image processing module 4132 is high. When it is determined that the priority is higher, the priority of the image processing module 4132 is increased. Accordingly, the image processing module 4132 can complete the distortion correction processing by the limit time without waiting for an access request for acquiring (reading) the captured image data.
  • FIG. 4 a path (observation path) in which the CPU 43 observes the progress of the processing of each of the digital signal processor 412, the image processing module 4131, the image processing module 4132, and the image processing module 4133 in the bus system 41. ). Also, in FIG. 4, a path in which the CPU 43 observes the progress of the processing of each of the digital signal processor 421, the image processing module 4223, the image processing module 4224, and the image processing module 4225 in the bus system 42 ( Observation path). FIG. 4 also shows a path (notification path) for notifying the bus arbitration unit 423 in the bus system 42 of information on the progress of processing in each processing block in the bus system 41 observed by the CPU 43. Note that, in the present invention, there is no particular limitation on the method by which the CPU 43 monitors the progress of processing in each processing block or notifies it.
  • the bus arbitration system 40 includes two bus systems, a bus system 41 and a bus system 42.
  • each of the bus system 41 and the bus system 42 has a configuration including a DRAM (DRAM 216 or DRAM 225).
  • DRAM 216 or DRAM 225 DRAM 216 or DRAM 225.
  • the configuration of the bus arbitration system 40 is not limited to the configuration shown in FIG. 4, similarly to the bus arbitration system 20 in the first embodiment. That is, similarly to the bus arbitration system 20 in the first embodiment, the bus arbitration system 40 may be configured to include two system LSIs or may be configured as one system LSI.
  • bus system 41 and the bus system 42 in the bus arbitration system 40 are constituted by one system LSI, similarly to the bus arbitration system 20 in the first embodiment shown in FIG. explain.
  • the bus arbitration system 40 also has a configuration in which each of the DRAMs 216 and 225 is arranged outside one system LSI in which the bus system 41 and the bus system 42 are configured and connected to the corresponding data bus.
  • the DRAM 216 is a component included in the bus system 41 and the DRAM 225 is a bus The description will be made assuming that the components are included in the system 42.
  • the CPU 43 is a control unit that controls the entire components of the bus arbitration system 40 by controlling each component included in the bus arbitration system 40, similarly to the CPU 23 included in the bus arbitration system 20 in the first embodiment. is there. Further, as described above, the CPU 43 is also a priority control unit that controls the priority when each processing block provided in the bus system 41 and the bus system 42 accesses the DRAM 216 or 225. The CPU 43 controls the entire bus arbitration system 40 in accordance with a program and data for controlling each component, similarly to the CPU 23 included in the bus arbitration system 20 in the first embodiment. However, as described above, the CPU 43 monitors the progress of processing in each processing block and dynamically changes the priority, and therefore differs from the CPU 23 provided in the bus arbitration system 20 in the first embodiment. Operate by program.
  • the bus system 41 includes an imaging processing unit 411, a digital signal processor 412, an image processing module 4131, an image processing module 4132, and an image processing module 4133 in the image processing unit 413, and a display processing unit 419.
  • the bus system 42 implements a processing function of image processing in the imaging device 2 by the digital signal processor 421 and the image processing module 4223, the image processing module 4224, and the image processing module 4225 in the image processing unit 422.
  • Each processing block provided in the bus arbitration system 40 performs the same operation as the corresponding processing block provided in the bus arbitration system 20 in the first embodiment. More specifically, in the bus system 41, the imaging processing unit 411 performs the same operation as the imaging processing unit 211, the digital signal processor 412 performs the same operation as the digital signal processor 212, and the image processing unit 413 performs the image processing. The same operation as the unit 213 is performed, and the display processing unit 419 performs the same operation as the display processing unit 219. In the bus system 42, the digital signal processor 421 performs the same operation as the digital signal processor 221 and the image processing unit 422 performs the same operation as the image processing unit 222.
  • the image processing unit 413 and the image processing unit 422 are, like the corresponding image processing unit 213 and the image processing unit 222 provided in the bus arbitration system 20 in the first embodiment, the image processing image data stored in the corresponding DRAM. Is subjected to predetermined image processing. More specifically, the image processing module 4131, the image processing module 4132, and the image processing module 4133 in the image processing unit 413, and the image processing module 4223, the image processing module 4224, and the image processing module 4225 in the image processing unit 422. Perform predetermined image processing on the image-processed image data (including intermediate image-processed image data) stored in the corresponding DRAM.
  • Each of the image processing module 4131, the image processing module 4132, the image processing module 4133, the image processing module 4223, the image processing module 4224, and the image processing module 4225 performs a predetermined single image process on target data. This is the processing block to be applied.
  • each image processing module performs, for example, a still image compression process such as a noise removal process, a YC (luminance / color difference) conversion process, a distortion correction process, a motion detection process, a resizing process, a JPEG compression process, an MPEG compression process, and an H.264 image compression process.
  • One of various image processing for display and recording such as moving image compression processing such as H.264 compression processing is applied to target data.
  • each image processing module on the target data is not particularly limited.
  • Each of the image processing modules performs, for example, a still image expansion process such as a JPEG expansion process, an MPEG expansion process, or Any of the moving image expansion processing such as the H.264 expansion processing may be performed.
  • the image processing module 413 and the image processing unit 422 when each of the image processing modules obtains (reads) data to be subjected to image processing, the image processing module 413 and the image processing unit 422 perform image processing and generate image data (image processing image data (Including) is stored (written), the corresponding DRAM is accessed.
  • the method of accessing the DRAM in each image processing module is the same as that of the corresponding image processing unit 213 and image processing unit 222 provided in the bus arbitration system 20 in the first embodiment, and thus detailed description is omitted. I do.
  • the image processing unit 413 and the image processing unit 422 cooperate or share, and perform a series of image processing and expansion on the captured image data. Image processing can be performed.
  • the image processing unit 413 and the image processing unit 422 perform image processing image data in the middle of performing a series or extended image processing on the captured image data. Can be directly exchanged with each other without passing through the corresponding data bus (data bus 210 and data bus 220).
  • each image processing is performed by the pine plan processing by the image processing module provided in each image processing unit. More specifically, the image processing unit 413 performs predetermined image processing by pine plan processing in which the image processing module 4131, the image processing module 4132, and the image processing module 4133 are connected in series.
  • the image processing unit 422 performs predetermined image processing by pine plan processing in which the image processing module 4223, the image processing module 4224, and the image processing module 4225 are connected in series.
  • the image processing unit 413 selects the image data output from any of the image processing module 4131, the image processing module 4132, and the image processing module 4133 and outputs the selected image data as the image data from the image processing unit 413.
  • a selector 4134 and a selector 4135 for selecting input image data and outputting the selected image data to any of the image processing module 4131, the image processing module 4132, and the image processing module 4133 are provided.
  • the image processing unit 422 includes a selector 4221 that selects input image data and outputs the selected image data to any of the image processing module 4223, the image processing module 4224, and the image processing module 4225.
  • each of the image processing unit 413 and the image processing unit 422 can perform a series of image processing or extended image processing in cooperation or sharing between the image processing unit 413 and the image processing unit 422. . That is, each of the image processing unit 413 and the image processing unit 422 can incorporate the image processing by the other image processing unit at any position in the pine plan processing.
  • image processing by the image processing module 4224 in the image processing unit 422 can be incorporated.
  • the selector 4134 selects and outputs the image data output by the image processing module 4131, and passes through the bus arbitration unit 417, the bus controller 218, the bus controller 227, and the bus arbitration unit 426. And outputs it directly to the image processing unit 422.
  • the selector 4221 outputs the input image data to the image processing module 4224.
  • the selector 4222 selects and outputs the image data output by the image processing module 4224, and passes through the bus arbitration unit 426, the bus controller 227, the bus controller 218, and the bus arbitration unit 417. Directly to the image processing unit 413. Then, in the image processing unit 413, the selector 4135 outputs the input image data to the image processing module 4131. Accordingly, in the image processing unit 413, the image processing module 4132 can perform the subsequent image processing on the image data output by the image processing module 4224 in the image processing unit 422.
  • Each processing block in the bus arbitration system 40 has a register for setting a priority.
  • Each priority setting register includes the priority of the initial value determined by the CPU 43 based on the operation mode of the imaging device 2 and the priority dynamically changed based on the progress of the process observed by the CPU 43. Is set.
  • FIG. 4 shows a register 411R provided in the imaging processing unit 411 in the bus system 41, a register 412R provided in the digital signal processor 412, a register 4131R provided in the image processing module 4131, and a register provided in the image processing module 4132.
  • FIG. 4 shows a register 421R provided for the digital signal processor 421 in the bus system 42, a register 4223R provided for the image processing module 4223, a register 4224R provided for the image processing module 4224, and a register 4224R for the image processing module 4225.
  • a path (priority setting path) for setting the priority determined or dynamically changed by the CPU 43 in the respective registers for setting the priority with the provided register 4225R is shown.
  • the priority of the access request corresponding to the bus arbitration unit 417 and the priority of the access request corresponding to the bus arbitration unit 426 are respectively stored in the register 417R provided in the bus arbitration unit 417 and the bus arbitration.
  • a path (priority setting path) set to each of the registers 426R provided in the unit 426 is also shown.
  • each processing block in the bus arbitration system 40 outputs the priority set by the CPU 43 to the corresponding bus arbitration unit.
  • the imaging processing unit 411, the digital signal processor 412, the image processing module 4131, the image processing module 4132, the image processing module 4133, the bus arbitration unit 417, and the display processing unit 419 Indicate paths (priority output paths) for outputting the priority set in the priority setting register to the corresponding bus arbitration unit 414.
  • each of the digital signal processor 421, the image processing module 4223, the image processing module 4224, the image processing module 4225, and the bus arbitration unit 426 displays the changed priority.
  • a path (priority output path) output to the corresponding bus arbitration unit 423 is shown.
  • the bus arbitration unit 414 and the bus arbitration unit 423 are each connected to the corresponding data bus similarly to the corresponding bus arbitration unit 214 and the bus arbitration unit 223 provided in the bus arbitration system 20 in the first embodiment.
  • the access request to the DRAM from the processing block is arbitrated, and the access request to the DRAM from any of the processing blocks is accepted.
  • the bus arbitration unit 417 and the bus arbitration unit 426 are processing blocks for arbitrating access requests to the corresponding DRAM.
  • the bus arbitration unit 414 arbitrates an access request to the DRAM 216 from the imaging processing unit 411, the digital signal processor 412, the image processing unit 413, the display processing unit 419, and the bus arbitration unit 417 connected to the data bus 210. And accept.
  • the bus arbitration unit 423 arbitrates and receives access requests to the DRAM 225 from the digital signal processor 421, the image processing unit 422, and the bus arbitration unit 426 connected to the data bus 220.
  • the bus arbitration unit 414 and the bus arbitration unit 423 are based on the priorities of the corresponding processing blocks, similarly to the corresponding bus arbitration units 214 and 223 provided in the bus arbitration system 20 in the first embodiment. Then, a processing block that accepts (permits) an access request to the corresponding DRAM is determined from among the processing blocks that have output the access request. However, in the bus arbitration system 40, the priority for determining the processing block in which the bus arbitration unit 414 and the bus arbitration unit 423 accept (permit) the access request is output from each processing block. For this reason, the bus arbitration unit 414 and the bus arbitration unit 423 do not include a priority setting register for setting the priority of the corresponding processing block.
  • the bus arbitration unit 414 determines the processing block that has output the access request based on the priority output from the processing block corresponding to the changed priority output path (priority output path) illustrated in FIG. From among them, a processing block that accepts (permits) an access request to the DRAM 216 is determined. In addition, the bus arbitration unit 423 outputs the access request based on the priority output from the corresponding processing block in the route (priority output route) in which the changed priority shown in FIG. 4 is output. From the blocks, a processing block for accepting (permitting) an access request to the DRAM 225 is determined.
  • the processing block whose access request has been accepted (permitted) accesses the corresponding DRAM (reads and writes data).
  • the bus arbitration unit 414 and the bus arbitration unit 423 communicate with the corresponding bus arbitration unit 214 and the bus arbitration unit 223 provided in the bus arbitration system 20 in the first embodiment via the corresponding data bus. Data is exchanged with the processing block that has accepted (permitted) the access request. More specifically, the bus arbitration unit 414 includes a processing block (an imaging processing unit 411 connected to the data bus 210, a digital signal processor 412, and an image processing module 4131 in the image processing unit 413 that has received the access request). , The image processing module 4132, the image processing module 4133, the display processing unit 419, and the bus arbitration unit 417, and any one of the processing blocks) and the memory control unit 215 via the data bus 210. The above-mentioned data is transferred.
  • a processing block an imaging processing unit 411 connected to the data bus 210, a digital signal processor 412, and an image processing module 4131 in the image processing unit 413 that has received the access request.
  • the bus arbitration unit 423 further includes a processing block (a digital signal processor 421 connected to the data bus 220, an image processing module 4223 in the image processing unit 422, an image processing module 4224, The above-described data is transferred between the processing module 4225 and the bus arbitration unit 426 (any one processing block) and the memory control unit 224 via the data bus 220.
  • a processing block a digital signal processor 421 connected to the data bus 220, an image processing module 4223 in the image processing unit 422, an image processing module 4224, The above-described data is transferred between the processing module 4225 and the bus arbitration unit 426 (any one processing block) and the memory control unit 224 via the data bus 220.
  • the operation of arbitrating access requests and the operation of transferring data in the bus arbitration unit 414 and the bus arbitration unit 423 are the same as those of the existing bus arbiter (so-called DMA arbitration circuit). That is, the bus arbitration unit 414 and the bus arbitration unit 423 arbitrate the access request to the corresponding DRAM based on the priority output from the corresponding processing block and transfer the data, according to the existing bus arbiter (so-called, DMA arbitration circuit). Therefore, detailed description of the operation of arbitrating access requests and the operation of transferring data in the bus arbitration unit 414 and the bus arbitration unit 423 will be omitted.
  • the bus arbitration unit 417 and the bus arbitration unit 426 are, similarly to the corresponding bus arbitration unit 217 and the bus arbitration unit 226 provided in the bus arbitration system 20 in the first embodiment, the other bus system from the corresponding image processing unit. Arbitrates a direct access request to the image processing unit of the other and an access request to the DRAM of the other bus system from each processing block connected to the corresponding data bus, and receives one of the access requests. Then, similarly to the corresponding bus arbitration unit 217 and bus arbitration unit 226 provided in the bus arbitration system 20 in the first embodiment, the bus arbitration unit 417 and the bus arbitration unit 426 respond to the received access request and the access request. The corresponding data is output (transferred) to the corresponding bus controller.
  • the bus arbitration unit 417 and the bus arbitration unit 426 are provided from the image processing unit of the other bus system. And an access request to the DRAM via the corresponding data bus from each processing block provided in the other bus system.
  • the bus arbitration unit 417 and the bus arbitration unit 426 output (transfer) the received access request and the data corresponding to the access request to the corresponding image processing unit or the corresponding bus arbitration unit.
  • the operation of arbitrating an access request and the operation of transferring data in the bus arbitration unit 417 and the bus arbitration unit 426 are performed by the corresponding bus arbitration unit 217 and bus arbitration unit provided in the bus arbitration system 20 according to the first embodiment. 226 can be considered. Therefore, detailed description of the operation of arbitrating access requests and the operation of transferring data in the bus arbitration unit 417 and the bus arbitration unit 426 will be omitted.
  • the imaging device 2 captures a still image or a moving image of a subject using the image sensor 10 and causes the display device 30 to display a display image corresponding to the captured still image or moving image.
  • the imaging device 2 can also record a still image or a moving image captured by the image sensor 10 on a recording medium (not shown).
  • the CPU 43 in the bus arbitration system 40, the bus arbitration unit 414 and the bus arbitration unit 417 in the bus system 41, and the bus arbitration unit 423 and the bus arbitration unit 426 in the bus system 42 The bus arbitration device according to the second embodiment is configured. That is, in the system of the bus arbitration system 40 according to the second embodiment in which two data buses (the data bus 210 and the data bus 220) are provided, the priorities of the processing blocks connected to the respective data buses are matched. Thus, the bus arbitration device of the second embodiment for arbitrating access to the memory is configured.
  • the CPU 43 sets the priority of the initial value determined based on the operation mode of the imaging device 2 in a priority setting register provided in each processing block, Then, the priority is dynamically changed by observing the progress of the processing in each processing block. Further, in the bus arbitration device of the second embodiment, each processing block outputs the priority set by the CPU 43 to the corresponding bus arbitration unit. Thereby, in the bus arbitration device of the second embodiment, each of the bus arbitration unit 414 and the bus arbitration unit 417 and the bus arbitration unit 423 and the bus arbitration unit 426 has the priority output from the corresponding processing block. Based on the degree, an access request to the memory from each processing block connected to the corresponding data bus is accepted (permitted).
  • the access request to the memory from each corresponding processing block is matched for each data bus.
  • the processing blocks include a case where each processing block exchanges data with each other via the data bus. The data flow in each data bus, that is, the bus bandwidth of the data bus can be secured.
  • the bus arbitration system 40 of the second embodiment including the bus arbitration device of the second embodiment can process each data without delay, and can execute the bus arbitration of the second embodiment.
  • the data processing time of the entire system of the imaging device 2 equipped with the arbitration system 40 can be guaranteed.
  • FIG. 5 is a diagram showing an example of priorities when arbitrating an access request to a memory (DRAM 216 or DRAM 225) in the bus arbitration device according to the second embodiment of the present invention.
  • FIG. 5 shows a priority setting register provided in each processing block when the processing progress observed by the CPU 43 is in three different states (first state, second state, and third state). 2 shows an example of dynamically changing the priority to be set.
  • FIG. 5 shows that the image processing module 4131 corrects a defective pixel for one frame, the image processing module 4132 performs distortion correction processing of barrel distortion, and the image processing module 4133 and the image processing module 4225 halve the image.
  • the priority in the case where the priority is dynamically changed according to the progress of the distortion correction processing in which the data amount required for the processing fluctuates is shown.
  • the CPU 43 includes an imaging processing unit 411, a display processing unit 419, a digital signal processor 412, and an image processing unit connected to the data bus 210 corresponding to the bus arbitration unit 414.
  • the request is set in a register for setting the priority of each processing block. An example of the priority is shown. In FIG.
  • the CPU 43 transmits a request for direct access to the image processing unit 422 provided in the bus system 42 from the image processing unit 413 corresponding to the bus arbitration unit 417, and the imaging processing unit 411, In order to arbitrate access requests from the display processing unit 419, the digital signal processor 412, the image processing module 4131, the image processing module 4132, and the image processing module 4133 to the DRAM 225 provided in the bus system 42 via the data bus 210.
  • An example of the priority set in the priority setting register of each processing block is shown.
  • the CPU 43 includes a digital signal processor 421 connected to the data bus 220 corresponding to the bus arbitration unit 423, an image processing module 4223 in the image processing unit 422, an image processing module 4224, An example of a priority set in a priority setting register of each processing block in order to arbitrate an access request to the DRAM 225 from the image processing module 4225 and the bus arbitration unit 426 is shown. Also, in FIG.
  • the CPU 43 sends a direct access request to the image processing unit 413 provided in the bus system 41 from the image processing unit 422 corresponding to the bus arbitration unit 426, and the digital signal processor 421,
  • the priority setting of each processing block is performed. The example of the priority set to a register is shown.
  • the priority set in the priority setting register provided in each processing block is different.
  • An example in the case of three stages is shown. More specifically, “high” shown in FIG. 5 indicates that the priority is high, “medium” indicates that the priority is medium, and “low” indicates that the priority is low. I have.
  • the first state shown in FIG. 5 is a state in which the image processing module 4132 is performing distortion correction processing on the upper end of the image.
  • the second state is a state in which the image processing module 4132 is performing distortion correction processing at the center of the image.
  • the third state is a state in which the image processing module 4132 is performing distortion correction processing on the lower end of the image.
  • the distortion correction processing when processing is performed on the upper end or the lower end of the image, more imaging processing image data is used than when performing the distortion correction processing in the center of the image. For this reason, the amount of data that acquires (reads) the imaging processing image data used by the image processing module 4132 for processing from the DRAM 216 increases. For this reason, as shown in FIG.
  • the CPU 43 sets the priority of the image processing module 4132 higher in the first state and the third state than in the second state. More specifically, the priority of the image processing module 4132 in the first state and the third state is set to “medium”, and the priority of the image processing module 4132 in the second state is set to “low”. As described above, in the bus arbitration device of the second embodiment, the priority of each processing block is dynamically changed based on the progress of processing in each processing block observed by the CPU 43.
  • the CPU 43 dynamically changes the priority of the processing blocks other than the image processing module 4132 based on the observed progress of the processing in each of the processing blocks based on the same concept.
  • the priority of the imaging processing unit 411 is “high”
  • the priority of the display processing unit 419 is “high”
  • the priority of the digital signal processor 412 is “medium”
  • the case where the priority of the image processing module 4131 is set to “medium”, the priority of the image processing module 4133 is set to “low”, and the priority of the bus arbitration unit 417 is set to “low” is shown.
  • FIG. 5A in the first state, the priority of the imaging processing unit 411 is “high”, the priority of the display processing unit 419 is “high”, the priority of the digital signal processor 412 is “medium”, The case where the priority of the image processing module 4131 is set to “medium”, the priority of the image processing module 4133 is set to “low”, and the priority of the bus arbitration unit 417 is set to “low” is shown.
  • FIG. 5A in
  • the priority of the imaging processing unit 411 is “high”
  • the priority of the display processing unit 419 is “high”
  • the priority of the digital signal processor 412 is high.
  • the case where the degree is set to “low”, the priority of the image processing module 4131 is set to “medium”, the priority of the image processing module 4133 is set to “low”, and the priority of the bus arbitration unit 417 is set to “medium” is shown.
  • the priority of the direct access request from the image processing unit 413 to the image processing unit 422 provided in the bus system 42 is “high”, and the priority via the data bus 210 is high.
  • 2 shows a case where the priority of an access request to the DRAM 225 provided in the bus system 42 is set to “low”.
  • the priority of the direct access request from the image processing unit 413 to the image processing unit 422 provided in the bus system 42 is “low”
  • 2 shows a case where the priority of an access request to the DRAM 225 provided in the bus system 42 is set to “high”.
  • the priority of the direct access request from the image processing unit 413 to the image processing unit 422 provided in the bus system 42 is “medium”
  • 2 shows a case where the priority of an access request to the DRAM 225 provided in the bus system 42 is set to “medium”.
  • the priority of the digital signal processor 421 in the first state, the priority of the digital signal processor 421 is “low”, the priority of the image processing module 4225 is “low”, and the priority of the bus arbitration unit 426 is “medium”.
  • the priority of the digital signal processor 421 in the second state, the priority of the digital signal processor 421 is “medium”, the priority of the image processing module 4225 is “low”, and the priority of the bus arbitration unit 426 is “medium”.
  • the priority of the digital signal processor 421 in the third state, the priority of the digital signal processor 421 is “medium”, the priority of the image processing module 4225 is “low”, and the priority of the bus arbitration unit 426 is “low”.
  • the priorities of the image processing modules 4223 and 4224 are not set. This is because the image processing module 4223 and the image processing module 4224 do not perform processing (are not operated) in any state.
  • the priority of the direct access request from the image processing unit 422 to the image processing unit 413 provided in the bus system 41 is “high”
  • 2 shows a case where the priority of an access request to the DRAM 216 provided in the bus system 41 is set to “low”.
  • the priority of the direct access request from the image processing unit 422 to the image processing unit 413 provided in the bus system 41 is “low”
  • 2 shows a case where the priority of an access request to the DRAM 216 provided in the bus system 41 is set to “high”.
  • the priority of the direct access request from the image processing unit 422 to the image processing unit 413 provided in the bus system 41 is “medium”
  • 2 shows a case where the priority of the access request to the DRAM 216 provided in the bus system 41 is set to “medium”.
  • the CPU 43 dynamically changes the priority of each processing block based on the observed progress of the processing in each processing block, and sets the priority of each processing block. Set in the register for degree setting.
  • an access request to the memory (DRAM 216 or DRAM 225) from each processing block is preferentially accepted (permitted) according to the progress of the processing.
  • each of the bus arbitration unit 414 and the bus arbitration unit 417, and the bus arbitration unit 423 and the bus arbitration unit 426 each perform a corresponding data bus (data bus 210 and data bus 220)
  • the access to the memory can be arbitrated by matching the access request to the memory from each corresponding processing block.
  • the bus bandwidth of each data bus can be ensured, including the case where each processing block exchanges data via the other data bus.
  • the dynamic change of the priority set by the CPU 43 in the priority setting register provided for each processing block based on the observed progress of the processing in each processing block is an example shown in FIG.
  • the present invention is not limited to this combination. Therefore, the CPU 43 can dynamically change each priority to an optimal combination of priorities as appropriate based on the observed progress of processing in each processing block.
  • FIG. 6 is a diagram illustrating an example of an operation of the imaging device 2 including the bus arbitration system 40 including the bus arbitration device according to the second embodiment of the present invention.
  • an image processing module 4133 in the image processing unit 413 and an image processing module 4225 in the image processing unit 422 cooperate with each other with respect to the image processing image data on which the imaging processing unit 411 has performed the imaging processing.
  • the figure shows an example of the operation when the digital signal processor 412 and the digital signal processor 421 perform the signal processing in cooperation with each other.
  • FIG. 6 is a diagram illustrating an example of an operation of the imaging device 2 including the bus arbitration system 40 including the bus arbitration device according to the second embodiment of the present invention. 6
  • an image processing module 4133 in the image processing unit 413 and an image processing module 4225 in the image processing unit 422 cooperate with each other with respect to the image processing image data on which the imaging processing unit 411 has performed the imaging processing.
  • the figure shows an example of the operation when the digital signal processor 412 and the digital signal processor 421 perform the signal
  • FIG. 6 shows each of the bus arbitration systems 40 provided with the bus arbitration system 40 similarly to the example of the operation of the imaging device 1 equipped with the bus arbitration system 20 including the bus arbitration device of the first embodiment shown in FIG. 2 shows a period in which each component is operating, such as a period in which the processing block processes corresponding data, and a period in which access (writing and reading) to each data is performed.
  • the CPU 43 determines the priority of the initial value of each processing block provided in the bus arbitration system 40 based on the operation mode of the imaging device 2, and determines the determined priority with the processing block in the bus system 41 and the bus.
  • the priority is set in a register for setting a priority provided for each of the processing blocks in the system 42.
  • the method of setting the priority of the initial value in the CPU 43 is the same as that of the CPU 23 provided in the bus arbitration system 20 in the first embodiment. That is, the CPU 43 determines the operation mode of the imaging device 2 and determines the priority of the initial value of each processing block before each processing block starts operating. Then, the CPU 43 sets the priority of the determined initial value in a priority setting register provided in each processing block.
  • the CPU 43 determines the priority of the initial value of each processing block in the bus system 42 by using the bus controller 218 provided in the bus system 41. And via the bus controller 227 provided in the bus system 42.
  • each processing block provided in the bus system 41 is also shown.
  • the priority is shown to be set in each of the bus arbitration unit 414, the bus arbitration unit 417, the bus arbitration unit 423, and the bus arbitration unit 426.
  • the respective priorities of the imaging processing unit 411 and the display processing unit 419 are the highest. The description will be made assuming that the value is set high.
  • each processing block starts processing for each frame.
  • the operation of each processing block can be considered in the same manner as the operation of each processing block provided in the bus arbitration system 20 including the bus arbitration device of the first embodiment. Therefore, in the following description, a detailed description of the operation of each processing block is omitted for ease of description.
  • the bus arbitration unit 414 and the bus arbitration unit 417 in the bus system 41 and the bus arbitration unit 423 and the bus arbitration unit 426 in the bus system 42 are included in the bus arbitration device according to the second embodiment. The operation of the arbitration of the access request in each of the above will be described.
  • the imaging processing unit 411 outputs, to the data bus 210, imaging processing image data A obtained by performing imaging processing on pixel signal data for one frame output from the image sensor 10, and stores (writes) the data into the DRAM 216.
  • the access request is output to the bus arbitration unit 414.
  • An image processing module 4131 in the image processing unit 413 obtains (reads) an image-captured image data A stored in the DRAM 216, and performs image processing P1 on the acquired image-captured image data A to perform data processing.
  • An access request for storage (writing) of the image-processed image data C1 output to the bus 210 to the DRAM 216 is output to the bus arbitration unit 414.
  • the image processing module 4132 in the image processing unit 413 obtains (reads out) the image processing image data C1 stored in the DRAM 216, and performs image processing P2 on the obtained image processing image data C1 to perform data processing.
  • An access request for storing (writing) the image-processed image data C2 output to the bus 210 to the DRAM 216 is output to the bus arbitration unit 414.
  • the image processing module 4133 in the image processing unit 413 obtains (reads) the image processing image data C2 stored in the DRAM 216, performs image processing P3 on the obtained image processing image data C2, and performs data processing.
  • An access request for storage (writing) of the image-processed image data C3 output to the bus 210 to the DRAM 216 is output to the bus arbitration unit 414.
  • the image processing module 4133 in the image processing unit 413 performs a part of image processing in the image processing module 4225 in the image processing unit 422 in a series of image processing performed on the acquired image processing image data C2. It outputs intermediate data Ci, such as intermediate image processing image data and coefficients, necessary for the image processing to the bus arbitration unit 417, and outputs a direct access request to the image processing unit 422 to the bus arbitration unit 417.
  • intermediate data Ci such as intermediate image processing image data and coefficients
  • the digital signal processor 412 performs an access request to acquire (read) the captured image data A stored in the DRAM 216 and performs signal processing (a detection process in FIG. 6) on the acquired captured image data A.
  • An access request for storing (writing) the signal processing data B output to the data bus 210 to the DRAM 216 is output to the bus arbitration unit 414.
  • the digital signal processor 412 performs detection processing to acquire (read) a part of the signal processing data B stored (written) in the DRAM 216, and the image processing module 4225 performs image processing.
  • the image processing module 4225 in the image processing unit 422 outputs the image processing image data D obtained by performing the image processing P4 to the intermediate data Ci output from the bus arbitration unit 426 to the bus arbitration unit 426, and stores the data in the DRAM 216.
  • the (write) access request is output to the bus arbitration unit 426.
  • the image processing module 4225 in the image processing unit 422 sends an access request for acquiring (reading) the detection data Bp stored in the DRAM 225 as necessary. Output to the arbitration unit 423.
  • the display processing unit 419 outputs an access request to acquire (read) the display image data E (the image processed image data C3 and the image processed image data D) stored in the DRAM 216 to the bus arbitration unit 414. Then, the display processing unit 419 performs a display process on the acquired display image data E to generate a display image, and outputs the generated display image to the display device 30 for display.
  • the digital signal processor 421 acquires previous frame data F (imaging processed image data A, signal processed data B, image processed image data C3, image processed image data D of the previous frame) stored in the DRAM 216 ( An access request to be read (stored) (written) in the DRAM 225 is output to the bus arbitration unit 426.
  • the digital signal processor 421 obtains (reads) the previous frame data F stored in the DRAM 225, and requests the digital signal processor 421 to process the obtained previous frame data F and output the processed data to the data bus 220.
  • An access request for storing (writing) the data G to the DRAM 225 is output to the bus arbitration unit 423. Thereafter, the digital signal processor 421 outputs an access request for storing (writing) the processing data G stored in the DRAM 225 in the DRAM 216 to the bus arbitration unit 426.
  • each processing block outputs an access request to the DRAM 216 or 225. Then, in the bus arbitration system 40, the bus arbitration unit 414 and the bus arbitration unit 417 provided in the bus system 41 and the bus arbitration unit 423 and the bus arbitration unit 426 provided in the bus system 42 are respectively processed from corresponding processing blocks Arbitration based on the priority output from each processing block. More specifically, the bus arbitration unit 414 stores (writes) the image processing image data A from the image processing unit 411, acquires (reads) the image processing image data A from the digital signal processor 412, and reads the signal processing data.
  • the bus arbitration unit 417 outputs the intermediate data Ci from the image processing unit 413 directly to the image processing unit 422, transfers the detection data Bp from the digital signal processor 412, and outputs the image-processed image from the bus controller 218. It arbitrates each access request for the transfer of the data D, the previous frame data F, and the processing data G. Further, the bus arbitration unit 426 outputs the intermediate data Ci directly from the bus controller 227 to the image processing unit 422, transfers the detected data Bp and the previous frame data F from the bus controller 227, and outputs the intermediate data Ci from the image processing unit 422. The access requests for direct transfer of image processing image data D and transfer of previous frame data F and processing data G from the digital signal processor 421 are arbitrated.
  • the bus arbitration unit 423 stores (writes) the detection data Bp and the previous frame data F from the bus arbitration unit 426 and acquires (reads) the processing data G, and acquires the detection data Bp from the image processing module 4225.
  • the access requests for (reading), obtaining (reading) the previous frame data F from the digital signal processor 421 and storing (writing) the processed data G are arbitrated.
  • the bus arbitration system 40 transmits a memory access request from each processing block provided in the bus system 41 and the bus system 42 to the CPU 43, the bus arbitration unit 414 and the bus arbitration unit 417, and the bus arbitration unit 417.
  • the bus arbitration device according to the second embodiment including the arbitration unit 423 and the bus arbitration unit 426 arbitrates.
  • the CPU 43 monitors the progress of each processing block when processing is being performed. Then, the CPU 43 dynamically changes the priority of each processing block based on the observed progress of the processing of each processing block. For example, the CPU 43 changes the priority of each processing block at predetermined intervals.
  • the CPU 43 provides a priority setting register provided in each processing block with a priority changed based on the observed processing progress of each processing block at a constant interval for each frame period. Shows the state set to.
  • each processing block outputs the changed priority through the priority output path, and the bus arbitration unit 414 and the bus arbitration unit 417, and the bus arbitration unit 423 and the bus arbitration unit 426 output the priority.
  • Each of them determines a processing block that accepts (permits) a memory access request from processing blocks that have output an access request, based on the priority output from the corresponding processing block.
  • the CPU 43 performs the processing in the processing blocks corresponding to the bus arbitration unit 414 and the bus arbitration unit 417, and the bus arbitration unit 423 and the bus arbitration unit 426, respectively.
  • the status is observed, and the priority of each processing block is dynamically changed based on the observed progress of processing in each processing block.
  • the bus arbitration system 40 of the second embodiment including the bus arbitration device of the second embodiment the access requests to the memories from the respective processing blocks are coordinated, and the access to the memory is arbitrated. be able to.
  • the processing blocks include a case where each processing block exchanges data via each other's data bus.
  • a bus band in each data bus can be secured.
  • the bus arbitration system 40 of the second embodiment including the bus arbitration device of the second embodiment the data processing time in each processing block is secured, and the bus arbitration system of the second embodiment is provided. The operation of the entire system of the imaging device 2 equipped with 40 can be guaranteed.
  • the priority control unit includes the processing blocks (digital signal processor 212, image processing module 4131, image processing module 4132, image processing module 4133, bus arbitration unit 217, digital signal processor 221, the image processing module 4223, the image processing module 4224, the image processing module 4225, and the bus arbitration unit 226), and based on the observation result, the priority for receiving the access request output by each processing block.
  • a bus arbitration device for controlling the degree is configured.
  • the CPU 23 sets the priority for each processing block (for example, the registers 411R, 412R, 4131R, 4132R, 4133R, 4173R, 417R, 417R for priority setting). 419R, the register 421R, the register 4223R, the register 4224R, the register 4225R, and the register 426R), and the first bus arbitration unit (the bus arbitration unit 414) and the second bus arbitration unit (the bus arbitration unit 423)
  • Each of the buses determines a processing block that receives an access request to a corresponding memory (DRAM 216 or DRAM 225) based on the priority output from the processing block (for example, the priority set in the register of the processing block).
  • Arbitration device is configured That.
  • the CPU 43 in the bus arbitration system 40 controls the bus arbitration system 40 and the bus system 42 based on the operation mode of the imaging device 2 equipped with the bus arbitration system 40.
  • the priority of the initial value necessary for securing the bus bandwidth of the data bus when each processing block accesses the memory is determined and set in the priority setting register provided in each processing block. After that, the CPU 43 observes the progress of the processing in each processing block and dynamically changes the priority.
  • each of the bus arbitration unit 414 and the bus arbitration unit 417 and the bus arbitration unit 423 and the bus arbitration unit 426 is based on the priority output from the corresponding processing block. And arbitrates access requests to the memory by the respective processing blocks.
  • the access request to the memory from each corresponding processing block is matched for each data bus.
  • access to the memory can be arbitrated. That is, in the bus arbitration device of the second embodiment, each of the bus arbitration unit 414 and the bus arbitration unit 417 and the bus arbitration unit 423 and the bus arbitration unit 426 performs processing depending on the progress of the processing of the corresponding processing block. Even when the bus bandwidth required for a block varies, arbitration can be appropriately performed so that the access request to the memory from each processing block does not wait more than necessary.
  • the processing blocks include a case where each processing block exchanges data via each other's data bus. , A bus band in each data bus can be secured.
  • the bus arbitration system 40 of the second embodiment including the bus arbitration device of the second embodiment can process each data without delay, and can execute the bus arbitration of the second embodiment. The operation of the imaging apparatus 2 including the arbitration system 40 as a whole system can be guaranteed.
  • the CPU 43 includes the priority of each processing block included in the bus system 42 in the bus system 41.
  • the case of setting via the bus controller 218 and the bus controller 227 provided in the bus system 42 has been described.
  • the bus system 41 and the bus system 42 are configured by one system LSI. Therefore, in the bus arbitration device of the second embodiment, the setting of the priority of each processing block provided in the bus system 42 by the CPU 43 is performed by the bus controller 218 provided in the bus system 41 and the bus provided in the bus system 42.
  • the setting is not limited to the setting via the controller 227.
  • the CPU 43 determines the priority of each processing block provided in the bus system 42 by the bus controller 218 provided in the bus system 41 and the bus controller 227 provided in the bus system 42.
  • the setting may be made directly in the priority setting register provided in each processing block in the bus system 42.
  • bus arbitration system 40 of the second embodiment including the bus arbitration device of the second embodiment the case where the bus system 41 and the bus system 42 are configured by one system LSI has been described.
  • the configuration of the bus arbitration system including the bus arbitration device of the present invention is not limited to the configuration of one system LSI, and may be configured by two different system LSIs.
  • the CPU 43 may be configured as a component different from each system LSI. In this case, the CPU 43 may be configured to directly set the priority of the processing block provided in each bus system in a priority setting register provided in each processing block.
  • the CPU 43 determines the priority of each processing block provided in the bus system 42 by the bus controller 218 provided in the bus system 41 and the bus controller 227 provided in the bus system 42.
  • the configuration may be such that the priority is directly set in a priority setting register provided in each processing block in the bus system 42.
  • each processing block in the bus system 41 and the bus system 42 has a configuration including a priority setting register for setting a priority.
  • the processing blocks connected to the respective data buses in the bus arbitration device of the present invention are not limited to the configuration including the priority setting register for setting the priority. That is, the configuration used by the bus arbitration device of the present invention to change the priority for dynamically arbitrating access requests is not limited to the configuration provided in each processing block.
  • the bus arbitration device provides access to a memory connected to each data bus when an image processing unit that performs a plurality of types of image processing is connected to each data bus. It is a configuration that arbitrates requests.
  • the bus arbitration device is mounted on an imaging device such as a still image camera or a moving image camera, for example, according to the third embodiment of the present invention. A case where the system is provided in the bus arbitration system will be described.
  • FIG. 7 is a block diagram showing a schematic configuration of an imaging device equipped with a bus arbitration system including a bus arbitration device according to the third embodiment of the present invention.
  • the configuration of the imaging device equipped with the bus arbitration system having the bus arbitration device of the third embodiment shown in FIG. 7 includes the bus arbitration system having the bus arbitration device of the second embodiment shown in FIG. It includes the same components as those of the imaging device 2 on which the camera 40 is mounted. Therefore, in the components of the imaging device equipped with the bus arbitration system equipped with the bus arbitration device of the third embodiment, the components of the imaging device 2 equipped with the bus arbitration system 40 equipped with the bus arbitration device of the second embodiment are included.
  • the same reference numerals are given to the same components as the components, and the detailed description of each component will be omitted.
  • the configuration of the bus arbitration system including the bus arbitration device of the third embodiment shown in FIG. 7 and the bus arbitration system of the third embodiment includes the bus arbitration of the second embodiment shown in FIG. It includes the same components as the bus arbitration system 40 including the device and the bus arbitration device of the second embodiment. Therefore, in the bus arbitration device of the third embodiment and the bus arbitration system including the bus arbitration device of the third embodiment, the bus arbitration device of the second embodiment and the bus arbitration of the second embodiment.
  • the bus arbitration device of the second embodiment and the bus arbitration of the second embodiment The same components as those of the bus arbitration system 40 including the devices are denoted by the same reference numerals, and detailed description of each component will be omitted.
  • the imaging device 3 illustrated in FIG. 7 includes the image sensor 10, the bus arbitration system 50, and the display device 30. Further, the bus arbitration system 50 includes two bus systems (the bus system 51 and the bus system 52) and the CPU 43.
  • the bus system 51 includes an imaging processing unit 411, a digital signal processor 412, an image processing unit 513, a bus arbitration unit 414, a memory control unit 215, a DRAM 216, a bus arbitration unit 417, and a bus controller 218. , And a display processing unit 419.
  • the image processing unit 513 includes three image processing module image processing units (image processing modules 5131 to 5133) and two selectors (selector 4134 and selector 4135).
  • Each of the imaging processing unit 411, the digital signal processor 412, the image processing unit 513, the bus arbitration unit 417, and the display processing unit 419 includes a register for setting a priority.
  • the imaging processing unit 411 includes a register 411R
  • the digital signal processor 412 includes a register 412R
  • the image processing unit 513 includes a register 513R
  • the bus arbitration unit 417 includes a register 417R
  • the display processing unit 419 Has a register 419R.
  • the imaging processing unit 411, the digital signal processor 412, the image processing module 5131, the image processing module 5132, and the image processing module 5133 in the image processing unit 513, the bus arbitration unit 414, and the bus arbitration unit 417 And the display processing unit 419 are connected to a common data bus 210.
  • the bus system 52 includes a digital signal processor 421, an image processing unit 522, a bus arbitration unit 423, a memory control unit 224, a DRAM 225, a bus arbitration unit 426, and a bus controller 227.
  • the image processing unit 522 includes two selectors (selectors 4221 and 4222) and three image processing module image processing units (image processing modules 5223 to 5225).
  • Each of the digital signal processor 421, the image processing unit 522, and the bus arbitration unit 426 includes a register for setting a priority. More specifically, the digital signal processor 421 includes a register 421R, the image processing unit 522 includes a register 522R, and the bus arbitration unit 426 includes a register 426R.
  • each of the digital signal processor 421, the image processing module 5223, the image processing module 5224, and the image processing module 5225 in the image processing unit 522, the bus arbitration unit 423, and the bus arbitration unit 426 are common. Is connected to the data bus 220.
  • the bus arbitration system 50 also includes two bus systems, a bus system 51 and a bus system 52, like the bus arbitration system 40 according to the second embodiment shown in FIG. FIG. 7 also shows a case where each of the bus system 51 and the bus system 52 has a configuration including a DRAM (DRAM 216 or DRAM 225), similarly to the bus arbitration system 40 in the second embodiment.
  • the configuration of the bus arbitration system 50 is not limited to the configuration shown in FIG. 7, similarly to the bus arbitration system 40 in the second embodiment. That is, similarly to the bus arbitration system 40 in the second embodiment, the bus arbitration system 50 may be configured to include two system LSIs or may be configured as one system LSI.
  • bus system 51 and the bus system 52 in the bus arbitration system 50 are constituted by one system LSI, similarly to the bus arbitration system 40 in the second embodiment shown in FIG. explain.
  • the bus arbitration system 50 also has a configuration in which each of the DRAM 216 and the DRAM 225 is arranged outside one system LSI in which the bus system 51 and the bus system 52 are configured and connected to the corresponding data bus.
  • the DRAM 216 is a component included in the bus system 51 and the DRAM 225 is a bus
  • the components are included in the system 52.
  • the imaging device 3 also performs the same operation as the imaging device 2 in the second embodiment shown in FIG.
  • the bus arbitration system 50, the bus system 51 and the bus system 52 constituting the bus arbitration system 50, and the respective components included in the bus system 51 and the bus system 52 are also imaged in the second embodiment.
  • the same operation as the corresponding component of the device 2 is performed.
  • in the operation of each component included in the bus arbitration system 50 a detailed description of the same operation as the corresponding component included in the bus arbitration system 40 in the second embodiment will be omitted, Only operations and processes different from the corresponding components provided in the bus arbitration system 40 in the second embodiment will be described.
  • Each of the provided digital signal processor 421, image processing module 5223, image processing module 5224, and image processing module 5225 is a processing block that implements a processing function of performing image processing in the bus arbitration system 50.
  • the image processing unit 413 provided in the bus system 41 in the bus arbitration system 40 according to the second embodiment is replaced by the image processing unit 513
  • the image processing unit 422 provided in the bus system 42 is replaced by an image processing unit. 522.
  • the image processing unit 513 and the image processing unit 522 store the image processing image data stored in the corresponding DRAM similarly to the corresponding image processing unit 413 and the image processing unit 422 provided in the bus arbitration system 40 in the second embodiment. Is subjected to predetermined image processing. More specifically, the image processing module 5131, the image processing module 5132, and the image processing module 5133 in the image processing unit 513, and the image processing module 5223, the image processing module 5224, and the image processing module 5225 in the image processing unit 522 are provided. Are the same as the corresponding image processing modules in the corresponding image processing units 413 and 422 provided in the bus arbitration system 40 in the second embodiment. do. In the present invention, the image processing performed by each image processing module on the target data is not particularly limited.
  • the image processing unit 513 performs the same image processing as the image processing unit 413, and the image processing unit 522 performs the same image processing as the image processing unit 422. More specifically, in the image processing unit 513, the image processing module 5131 performs the same image processing as the image processing module 4131 in the image processing unit 413, and the image processing module 5132 executes the image processing in the image processing unit 413. Image processing similar to that of the module 4132 is performed, and the image processing module 5133 performs image processing of the image processing with the image processing module 4133 in the image processing unit 413. However, in the image processing unit 513, the image processing by each of the image processing module 5131, the image processing module 5132, and the image processing module 5133 can be considered as one image processing.
  • the image processing unit 513 can be considered as one image processing unit (processing block) as a whole.
  • each image processing module is provided with a priority setting register for setting a priority
  • the register for setting the priority corresponding to the image processing module is provided as one register 513R.
  • the image processing module 5223 performs the same image processing as the image processing module 4223 in the image processing unit 413, and the image processing module 5224 performs the same image processing as the image processing module 4224 in the image processing unit 413.
  • the image processing module 5225 performs the same image processing as the image processing module 4225 in the image processing unit 413.
  • the image processing by each of the image processing module 5223, the image processing module 5224, and the image processing module 5225 can be considered as one image processing. That is, similarly to the image processing unit 513, the image processing unit 522 can be considered as one image processing unit (processing block) as a whole.
  • each image processing module is provided with a priority setting register for setting a priority.
  • a register 522R is provided for each priority setting register corresponding to each image processing module.
  • the respective image processing modules in the image processing unit 513 and the image processing unit 522 have the configuration provided in the bus arbitration system 40 in the second embodiment except that the configuration does not individually include a register for setting the priority. This is the same as the corresponding image processing module in the image processing unit 413 and the image processing unit 422. Therefore, a detailed description of the operation of each image processing module in the image processing unit 513 and the image processing unit 522 is omitted.
  • the CPU 43 determines the priority when each processing block provided in the bus system 51 and the bus system 52 accesses the DRAM 216 and the DRAM 225. Control. Also, in the bus arbitration system 50, similarly to the bus arbitration system 40 in the second embodiment, the CPU 43 sets the priority of access to the DRAM 216 or the DRAM 225 by each processing block based on the operation mode of the imaging device 3. After that, the progress of processing in each processing block is observed, and the priority of each processing block is dynamically changed based on the observation result.
  • each of the image processing unit 513 and the image processing unit 522 can be considered as one processing block.
  • Each of the image processing unit 513 and the image processing unit 522 includes one priority setting register (register 513R or register 522R). Therefore, when setting the priority of each image processing module provided in the image processing unit 513 or the image processing unit 522, the CPU 43 sets the priority of the corresponding image processing module to the register 513R or the register 522R. I do. Then, the CPU 43 collects the image processing modules provided in the image processing unit 513 and observes the progress of the processing in each image processing module in units of the image processing unit 513.
  • the CPU 43 collects the image processing modules provided in the image processing unit 522 and observes the progress of the processing in each image processing module in units of the image processing unit 522. Note that, in the present invention, there is no particular limitation on the method by which the CPU 43 monitors the progress of processing in each processing block or notifies it.
  • FIG. 7 shows a path (observation path) in which the CPU 43 observes the progress of each processing of the digital signal processor 412 and the image processing unit 513 in the bus system 51.
  • FIG. 7 illustrates a path (observation path) in which the CPU 43 observes the progress of each processing of the digital signal processor 421 and the image processing unit 522 in the bus system 52.
  • FIG. 7 also shows a path (notification path) for notifying the bus arbitration unit 423 in the bus system 52 of information on the progress of processing in each processing block in the bus system 51 observed by the CPU 43.
  • FIG. 7 illustrates a register 411R provided in the imaging processing unit 411 in the bus system 51, a register 412R provided in the digital signal processor 412, a register 513R provided in the image processing unit 513, and a display processing unit 419.
  • a path (priority setting path) for setting the priority determined or dynamically changed by the CPU 43 in the respective registers for setting the priority with the provided register 419R is shown.
  • FIG. 7 shows that the CPU 43 determines or dynamically assigns the registers 421R provided in the digital signal processor 421 in the bus system 52 and the registers 522R provided in the image processing unit 522 to the respective priority setting registers.
  • a route (priority setting route) for setting the changed priority is shown. In FIG.
  • the priority of the access request corresponding to the bus arbitration unit 417 and the priority of the access request corresponding to the bus arbitration unit 426 are respectively stored in the register 417R provided in the bus arbitration unit 417 and the bus arbitration.
  • a path (priority setting path) set to each of the registers 426R provided in the unit 426 is also shown.
  • the imaging processing unit 411, the digital signal processor 412, the image processing unit 513, the bus arbitration unit 417, and the display processing unit 419 each include a priority setting unit.
  • a path (priority output path) for outputting the priority set in the register to the corresponding bus arbitration unit 414 is shown.
  • the digital signal processor 421, the image processing unit 522, and the bus arbitration unit 426 each output a route (priority) for outputting the changed priority to the corresponding bus arbitration unit 423. Output path).
  • the imaging device 3 captures a still image or a moving image of a subject using the image sensor 10 and displays the still image or the moving image according to the captured still image or the moving image.
  • the image is displayed on the display device 30.
  • the imaging device 3 can also record a still image or a recorded image corresponding to a moving image captured by the image sensor 10 on a recording medium (not shown).
  • the CPU 43 in the bus arbitration system 50, the bus arbitration unit 414 and the bus arbitration unit 417 in the bus system 51, and the The bus arbitration unit 423 and the bus arbitration unit 426 constitute a bus arbitration device according to the third embodiment. That is, in the system of the bus arbitration system 50 according to the third embodiment in which two data buses (the data bus 210 and the data bus 220) are provided, the priorities of the processing blocks connected to the respective data buses are matched. Thus, the bus arbitration device of the third embodiment for arbitrating access to the memory is configured.
  • the CPU 43 determines the priority of the initial value determined based on the operation mode of the imaging device 3 in each processing block. Is set in the register for setting the priority provided in the above, and the priority is dynamically changed by observing the progress of the processing in each processing block. Also, in the bus arbitration device of the third embodiment, similarly to the bus arbitration device of the second embodiment, each processing block outputs the priority set by the CPU 43 to the corresponding bus arbitration unit. Thereby, in the bus arbitration device of the third embodiment, similarly to the bus arbitration device of the second embodiment, each of the bus arbitration unit 414 and the bus arbitration unit 417, and the bus arbitration unit 423 and the bus arbitration unit 426, respectively.
  • the bus arbitration system 50 of the third embodiment including the bus arbitration device of the third embodiment is also different from the bus arbitration system 40 of the second embodiment including the bus arbitration device of the second embodiment.
  • access to the memory can be arbitrated for each data bus by matching the access request to the memory from the corresponding processing block.
  • the bus arbitration system 50 of the second embodiment including the bus arbitration device of the second embodiment also includes the bus arbitration system 50 of the third embodiment including the bus arbitration device of the third embodiment.
  • the bus arbitration system 50 of the second embodiment including the bus arbitration device of the second embodiment also includes the bus arbitration system 50 of the third embodiment including the bus arbitration device of the third embodiment.
  • each data can be processed without delay, and the operation of the entire imaging apparatus 3 equipped with the bus arbitration system 50 of the third embodiment, that is, the data processing time is guaranteed. can do.
  • control of access requests to the DRAM 216 and the DRAM 225 by respective processing blocks provided in the bus systems 51 and 52 and the operation of the bus arbitration system 50 are the same as those of the second embodiment. Similar considerations can be made for the system 40. Accordingly, a detailed description of control of an access request to the DRAM 216 or the DRAM 225 by each processing block in the bus arbitration system 50 and an operation of the bus arbitration system 50 will be omitted.
  • the CPU 43 in the bus arbitration system 50 operates the imaging device 3 equipped with the bus arbitration system 50. Based on the mode, each processing block in the bus system 51 and the bus system 52 determines the priority of the initial value necessary for securing the bus bandwidth of the data bus when accessing the memory, and Is set in the priority setting register provided for. After that, the CPU 43 observes the progress of the processing in each processing block and dynamically changes the priority. Further, in the bus arbitration device of the third embodiment, similarly to the bus arbitration device of the second embodiment, each of the bus arbitration unit 414 and the bus arbitration unit 417, and the bus arbitration unit 423 and the bus arbitration unit 426 are respectively provided.
  • the bus arbitration system 50 of the third embodiment including the bus arbitration device of the third embodiment is also different from the bus arbitration system 40 of the second embodiment including the bus arbitration device of the second embodiment.
  • access to the memory can be arbitrated for each data bus by matching the access request to the memory from the corresponding processing block. That is, in the bus arbitration device of the third embodiment, similarly to the bus arbitration device of the second embodiment, each of the bus arbitration unit 414 and the bus arbitration unit 417, and the bus arbitration unit 423 and the bus arbitration unit 426 are respectively provided. Even if the bus bandwidth required for a processing block varies depending on the progress of processing of the corresponding processing block, arbitration is appropriately performed so that a memory access request from each processing block does not wait more than necessary. can do.
  • the bus arbitration system 50 of the second embodiment including the bus arbitration device of the second embodiment also includes the bus arbitration system 50 of the third embodiment including the bus arbitration device of the third embodiment.
  • the bus arbitration system 50 of the second embodiment including the bus arbitration device of the second embodiment also includes the bus arbitration system 50 of the third embodiment including the bus arbitration device of the third embodiment.
  • each data can be processed without delay, and the operation of the entire imaging system 3 including the bus arbitration system 50 of the third embodiment can be guaranteed.
  • the bus arbitration system 50 of the third embodiment including the bus arbitration device of the third embodiment is similar to the bus arbitration system 40 of the second embodiment including the bus arbitration device of the second embodiment.
  • the case where the CPU 43 sets the priority of each processing block provided in the bus system 52 via the bus controller 218 provided in the bus system 51 and the bus controller 227 provided in the bus system 52 has been described.
  • the bus arbitration system 50 of the third embodiment including the bus arbitration device of the third embodiment is similar to the bus arbitration system 40 of the second embodiment including the bus arbitration device of the second embodiment.
  • the bus system 51 and the bus system 52 are configured by one system LSI.
  • the setting of the priority of each processing block provided in the bus system 52 by the CPU 43 is performed by the bus system 51.
  • the setting is not limited to the setting via the bus controller 218 provided and the bus controller 227 provided in the bus system 52. That is, also in the bus arbitration device of the third embodiment, the CPU 43 provides the bus system 51 with the priority of each processing block provided in the bus system 52 similarly to the bus arbitration device of the second embodiment.
  • the configuration may be such that the priority is directly set in the priority setting register provided in each processing block in the bus system 52 without passing through the bus controller 218 and the bus controller 227 provided in the bus system 52.
  • the bus arbitration system 50 of the third embodiment including the bus arbitration device of the third embodiment is similar to the bus arbitration system 40 of the second embodiment including the bus arbitration device of the second embodiment.
  • the case where the bus system 51 and the bus system 52 are configured by one system LSI has been described.
  • the configuration of the bus arbitration system including the bus arbitration device of the present invention is not limited to the configuration of one system LSI, and may be configured by two different system LSIs.
  • the CPU 43 may be configured as a component different from each system LSI. In this case, similarly to the bus arbitration device of the second embodiment, the CPU 43 directly sets the priorities of the processing blocks provided in the respective bus systems in the priority setting registers provided in the respective processing blocks. It may be configured.
  • the CPU 43 provides the bus system 51 with the priority of each processing block provided in the bus system 52 similarly to the bus arbitration device of the second embodiment.
  • the setting has been made via the bus controller 218 and the bus controller 227 provided in the bus system 52, like the bus system 51, it is directly stored in the priority setting register provided in each processing block in the bus system 52. It may be configured to be set.
  • the CPU operating as the priority control unit sets the priority in the priority setting register provided for each component in the bus arbitration system.
  • the configuration has been described in which arbitration is performed by matching the access requests to the memories by the processing blocks connected to the respective data buses in the two bus systems constituting the bus arbitration system.
  • the method of matching and arbitrating the access requests to the memories by the processing blocks connected to the respective data buses requires the priority setting register provided in each component to store the priority.
  • the present invention is not limited to the method of setting. That is, in the bus arbitration device of the present invention, the configuration for controlling the priority of the access request to the memory by each processing block is limited to a configuration in which a CPU (priority control unit) and a register for setting the priority are combined. Not something.
  • the bus arbitrating device provides a method for requesting access to a memory connected to each data bus when a plurality of types of image processing processing blocks are connected to each data bus. Is controlled by a dedicated priority control unit that dynamically controls the priority of each processing block.
  • the bus arbitration device is mounted on an imaging device such as a still image camera or a moving image camera, for example. A case where the system is provided in the bus arbitration system will be described.
  • FIG. 8 is a block diagram showing a schematic configuration of an imaging device equipped with a bus arbitration system including a bus arbitration device according to the fourth embodiment of the present invention.
  • the configuration of the imaging device equipped with the bus arbitration system having the bus arbitration device of the fourth embodiment shown in FIG. 8 includes the bus arbitration system having the bus arbitration device of the first embodiment shown in FIG. 20 includes the same components as those of the imaging device 1 on which the camera 20 is mounted. Therefore, in the components of the imaging device equipped with the bus arbitration system including the bus arbitration device of the fourth embodiment, the components of the imaging device 1 equipped with the bus arbitration system 20 including the bus arbitration device of the first embodiment are included.
  • the same reference numerals are given to the same components as the components, and the detailed description of each component is omitted.
  • the configuration of the bus arbitration system including the bus arbitration device of the fourth embodiment shown in FIG. 8 and the bus arbitration system of the fourth embodiment includes the bus arbitration of the first embodiment shown in FIG. It includes components similar to those of the bus arbitration system 20 including the device and the bus arbitration device of the first embodiment. Therefore, in the components of the bus arbitration system of the fourth embodiment and the bus arbitration system including the bus arbitration device of the fourth embodiment, the bus arbitration device of the first embodiment and the bus arbitration of the first embodiment.
  • the same components as those of the bus arbitration system 20 including the devices are denoted by the same reference numerals, and detailed description of each component will be omitted.
  • the imaging device 4 shown in FIG. 8 includes the image sensor 10, the bus arbitration system 60, and the display device 30. Further, the bus arbitration system 60 includes two bus systems (a bus system 61 and a bus system 62) and a priority control unit 63.
  • the bus system 61 includes an imaging processing unit 211, an image processing unit 613, a bus arbitration unit 614, a memory control unit 215, a DRAM 216, a bus arbitration unit 617, a bus controller 218, and a display processing unit 219. , Is provided.
  • the bus system 61 may include a digital signal processor 212 similarly to the bus system 21 included in the bus arbitration system 20 including the bus arbitration device of the first embodiment. The digital signal processor 212 is omitted for ease of explanation.
  • the imaging processing unit 211, the image processing unit 613, the bus arbitration unit 614, the bus arbitration unit 617, and the display processing unit 219 are connected to the common data bus 210.
  • the bus system 62 includes an image processing unit 622, a bus arbitration unit 623, a memory control unit 224, a DRAM 225, a bus arbitration unit 626, and a bus controller 227.
  • the bus system 62 may include a digital signal processor 221 similarly to the bus system 22 included in the bus arbitration system 20 including the bus arbitration device according to the first embodiment. For ease of explanation, the digital signal processor 221 is omitted.
  • each of the image processing unit 622, the bus arbitration unit 623, and the bus arbitration unit 626 is connected to the common data bus 220.
  • the configuration with the bus arbitration unit 626 corresponds to the bus arbitration device of the fourth embodiment.
  • the imaging device 4 also captures a still image or a moving image of a subject using the image sensor 10 and displays a display image corresponding to the captured still image or moving image. Is displayed on the display device 30. Note that, similarly to the imaging device 1 according to the first embodiment, the imaging device 4 can also record a recorded still image or a recorded image corresponding to a moving image on a recording medium (not shown).
  • the bus arbitration system 60 performs predetermined image processing on the pixel signal output from the image sensor 10 and performs a still image or a moving image similarly to the bus arbitration system 20 according to the first embodiment shown in FIG. Generate an image. Further, similarly to the bus arbitration system 20 in the first embodiment, the bus arbitration system 60 generates a display image according to the generated still image or moving image, and causes the display device 30 to display the generated display image. Further, similarly to the bus arbitration system 20 in the first embodiment, the bus arbitration system 60 generates a recorded image corresponding to the generated still image or moving image, and records the generated recorded image on a recording medium (not shown). It can also be done.
  • each of the imaging processing unit 211, the image processing unit 613, and the display processing unit 219 provided in the bus system 61, and the image processing unit 622 provided in the bus system 62 This is a processing block that implements a processing function of performing processing.
  • each of the imaging processing unit 211, the image processing unit 613, and the display processing unit 219 provided in the bus system 61 accesses the DRAM 216 via the data bus 210.
  • the image processing unit 622 provided in the bus system 62 accesses the DRAM 225 via the data bus 220.
  • each processing block provided in the bus system 61 and the bus system 62 accesses the DRAM 216 or 225 by, for example, DMA transfer. .
  • bus arbitration system 60 similarly to the bus arbitration system 20 in the first embodiment, data can be exchanged between the bus system 61 and the bus system 62. Also at this time, similarly to the bus arbitration system 20 in the first embodiment, the respective processing blocks provided in the bus system 61 and the bus system 62 pass through each other's data bus (data bus 210 and data bus 220). Then, for example, the DRAM 216 or the DRAM 225 is accessed by DMA transfer.
  • the image processing unit 613 provided in the bus system 61 and the image processing unit 622 provided in the bus system 62 are mutually different. Image processing in the bus arbitration system 60 can also be performed in cooperation. Also at this time, similarly to the bus arbitration system 20 in the first embodiment, the image processing unit 613 provided in the bus system 61 and the image processing unit 622 provided in the bus system 62 are connected to each other by the data bus (data bus 210). And the data to be linked can be directly exchanged without passing through the data bus 220).
  • the priority control unit 63 controls the priority when each processing block provided in the bus system 61 and the bus system 62 accesses the DRAM 216 or 225. At this time, the priority control unit 63 observes the progress of the processing in each processing block, and dynamically controls the priority when each processing block accesses the DRAM 216 or the DRAM 225 based on the observation result. . In other words, in the bus arbitration system 60, the priority control unit 63 controls the access to the DRAM by each processing block so as not to be waited more than necessary.
  • the concept of the priority control unit 63 dynamically controlling the priority of each processing block is that the CPU 43 configuring the bus arbitration device of the second embodiment dynamically determines the priority of each processing block. It is the same as the way of thinking when changing.
  • the bus arbitration system 60 includes two bus systems, a bus system 61 and a bus system 62.
  • each of the bus system 61 and the bus system 62 has a configuration including a DRAM (DRAM 216 or DRAM 225).
  • DRAM DRAM 216 or DRAM 225
  • the configuration of the bus arbitration system 60 is not limited to the configuration shown in FIG. 8, similarly to the bus arbitration system 20 in the first embodiment. That is, similarly to the bus arbitration system 20 in the first embodiment, the bus arbitration system 60 may be configured to include two system LSIs or may be configured as one system LSI.
  • bus arbitration system 60 is configured by one system LSI, similarly to the bus arbitration system 20 in the first embodiment illustrated in FIG. explain.
  • the bus arbitration system 60 also has a configuration in which each of the DRAMs 216 and 225 is arranged outside one system LSI including the bus system 61 and the bus system 62 and connected to the corresponding data bus.
  • the DRAM 216 is a component included in the bus system 61 and the DRAM 225 is a bus
  • the components are included in the system 62.
  • the priority control unit 63 is a priority control unit that controls the priority when each processing block provided in the bus system 61 and the bus system 62 accesses the DRAM 216 or 225. As described above, the priority control unit 63 dynamically controls the priority by observing the progress of processing in each processing block.
  • FIG. 8 illustrates a path (observation path) in which the priority control unit 63 observes the progress of the processing of the image processing unit 613 and the bus arbitration unit 617 in the bus system 61.
  • FIG. 8 illustrates a path (observation path) in which the priority control unit 63 observes the progress of the processing of the image processing unit 622 and the bus arbitration unit 626 in the bus system 62.
  • the priority control unit 63 monitors the progress of processing in each processing block.
  • the priority control unit 63 determines the priority when the bus arbitration unit 614 and the bus arbitration unit 617 in the bus system 61 each receive (permit) an access request from a processing block corresponding thereto. It shows a path that is dynamically controlled (priority control path). In FIG. 8, the priority control unit 63 determines the priority when the bus arbitration unit 623 and the bus arbitration unit 626 in the bus system 62 each receive (permit) an access request from a processing block corresponding thereto. The path to be controlled (priority control path) is shown. In the present invention, there is no particular limitation on the method by which the priority control unit 63 controls an access request accepted (permitted) by each bus arbitration unit.
  • the bus system 61 realizes a processing function of performing image processing in the imaging device 4 by the imaging processing unit 211, the image processing unit 613, and the display processing unit 219.
  • the image processing unit 613 performs the same image processing as the image processing unit 213 provided in the bus arbitration system 20 in the first embodiment.
  • the image processing unit 622 implements a processing function of image processing in the imaging device 4.
  • the image processing unit 622 performs the same image processing as the image processing unit 222 provided in the bus arbitration system 20 in the first embodiment.
  • the image processing unit 613 and the image processing unit 622 are, like the corresponding image processing unit 213 and the image processing unit 222 provided in the bus arbitration system 20 in the first embodiment, the image processing image data stored in the corresponding DRAM. Is subjected to predetermined image processing.
  • the configuration for performing image processing in each of the image processing unit 613 and the image processing unit 622 is similar to the configuration of the image processing unit 413 and the image processing unit 422 provided in the bus arbitration system 40 of the second embodiment. May be. That is, each of the image processing unit 613 and the image processing unit 622 may be configured to perform image processing by a plurality of image processing modules.
  • the image processing performed by the image processing unit 613 and the image processing unit 622 on the captured image data is not particularly limited.
  • the image processing unit 613 and the image processing unit 622 acquire (read) captured image data to be subjected to image processing, and store (write) image-processed image data generated by image processing. Access the corresponding DRAM.
  • the method of accessing the DRAM in the image processing unit 613 and the image processing unit 622 is the same as that of the corresponding image processing unit 213 and image processing unit 222 provided in the bus arbitration system 20 in the first embodiment. Detailed description is omitted.
  • the image processing unit 613 and the image processing unit 622 cooperate or share, and perform a series of image processing and expansion on the captured image data. Image processing can be performed.
  • the image processing unit 613 and the image processing unit 622 perform image processing image data in the middle of performing a series or extended image processing on the captured image data. Can be directly exchanged with each other without passing through the corresponding data bus (data bus 210 and data bus 220).
  • the priority control unit 63 monitors the progress of the processing in the image processing unit 613 and the image processing unit 622. For this reason, each of the image processing unit 613 and the image processing unit 622 notifies the priority control unit 63 of the information on the progress of the current processing on the observation path.
  • the bus arbitration unit 614 and the bus arbitration unit 623 are each connected to the corresponding data bus similarly to the corresponding bus arbitration unit 214 and the bus arbitration unit 223 provided in the bus arbitration system 20 in the first embodiment.
  • the access request to the DRAM from the processing block is arbitrated, and the access request to the DRAM from any of the processing blocks is accepted.
  • the bus arbitration unit 617 and the bus arbitration unit 626 are processing blocks for arbitrating access requests to the corresponding DRAM. Accordingly, the bus arbitration unit 614 arbitrates and accepts access requests to the DRAM 216 from the imaging processing unit 211, the image processing unit 613, the display processing unit 219, and the bus arbitration unit 617 connected to the data bus 210.
  • the bus arbitration unit 623 arbitrates and receives an access request to the DRAM 225 from the image processing unit 622 and the bus arbitration unit 626 connected to the data bus 220.
  • the bus arbitration unit 614 and the bus arbitration unit 623 access the corresponding DRAM from the processing blocks that have output the access request based on the priority controlled by the priority control unit 63 through the priority control path.
  • a processing block for accepting (permitting) the request is determined.
  • the priority of the bus arbitration unit 614 and the bus arbitration unit 623 for determining a processing block that accepts (permits) an access request is dynamically controlled by the priority control unit 63.
  • the processing block whose access request has been accepted (permitted) accesses the corresponding DRAM (reads and writes data).
  • bus arbitration unit 614 and the bus arbitration unit 623 communicate with the corresponding bus arbitration unit 214 and the bus arbitration unit 223 provided in the bus arbitration system 20 in the first embodiment via the corresponding data bus. Data is exchanged with the processing block that has accepted (permitted) the access request.
  • the operation of arbitrating an access request and the operation of transferring data in the bus arbitration unit 614 and the bus arbitration unit 623 are performed by the corresponding bus arbitration unit 214 and bus arbitration unit provided in the bus arbitration system 20 in the first embodiment. 223. That is, the operation of the bus arbitration unit 614 and the bus arbitration unit 623 arbitrating the access request to the corresponding DRAM based on the priority controlled by the priority control unit 63 and transferring the data is performed by using the existing bus arbiter (so-called, DMA arbitration circuit). Accordingly, detailed description of the operation of arbitrating access requests and the operation of transferring data in the bus arbitration unit 614 and the bus arbitration unit 623 will be omitted.
  • the bus arbitration unit 617 and the bus arbitration unit 626 are, similarly to the corresponding bus arbitration unit 217 and the bus arbitration unit 226 provided in the bus arbitration system 20 in the first embodiment, the other bus system from the corresponding image processing unit. Arbitrates a direct access request to the image processing unit of the other and an access request to the DRAM of the other bus system from each processing block connected to the corresponding data bus, and receives one of the access requests. Then, similarly to the corresponding bus arbitration unit 217 and bus arbitration unit 226 provided in the bus arbitration system 20 in the first embodiment, the bus arbitration unit 617 and the bus arbitration unit 626 respond to the received access request and the access request. The corresponding data is output (transferred) to the corresponding bus controller.
  • bus arbitration unit 617 and the bus arbitration unit 626 are connected to the image processing unit of the other bus system similarly to the corresponding bus arbitration unit 217 and the bus arbitration unit 226 provided in the bus arbitration system 20 in the first embodiment. And an access request to the DRAM via the corresponding data bus from each processing block provided in the other bus system.
  • the bus arbitration unit 617 and the bus arbitration unit 626 output (transfer) the received access request and the data corresponding to the access request to the corresponding image processing unit or the corresponding bus arbitration unit.
  • the bus arbitration unit 617 and the bus arbitration unit 626 access from the respective access requests to the other bus system to accept (permit) based on the priority controlled by the priority control unit 63 through the priority control path. Determine the request.
  • the priority of the bus arbitration unit 614 and the bus arbitration unit 623 for determining an access request to the other bus system to be accepted (permitted) is dynamically controlled by the priority control unit 63.
  • the bus arbitration unit 617 determines an access request to the bus system 62 to be accepted (permitted) from the respective access requests based on the priority controlled by the priority control unit 63. As a result, the accepted (permitted) access request to the bus system 62 and the data corresponding to the access request are output (transferred) to the bus system 62 via the bus controller 218.
  • the bus arbitration unit 626 determines an access request to the bus system 61 to be accepted (permitted) from the respective access requests based on the priority controlled by the priority control unit 63. As a result, the accepted (permitted) access request to the bus system 61 and data corresponding to the access request are output (transferred) to the bus system 61 via the bus controller 227.
  • the operation of arbitrating an access request and the operation of transferring data in the bus arbitration unit 617 and the bus arbitration unit 626 are performed by the corresponding bus arbitration unit 217 and bus arbitration unit provided in the bus arbitration system 20 in the first embodiment. 226 can be considered. Therefore, a detailed description of an operation of arbitrating an access request and an operation of transferring data in the bus arbitration unit 617 and the bus arbitration unit 626 will be omitted.
  • the priority control unit 63 monitors the progress of processing in the bus arbitration unit 617 and the bus arbitration unit 626. For this reason, each of the bus arbitration unit 617 and the bus arbitration unit 626 transmits, on the observation path, information on the current processing progress status of the accepted (permitted) access request, that is, information on the data output (transfer) status. The priority control unit 63 is notified.
  • the imaging device 4 causes the image sensor 10 to capture a still image or a moving image of a subject, and causes the display device 30 to display a display image corresponding to the captured still image or the moving image.
  • the imaging device 4 can also record a still image or a recorded image corresponding to a moving image captured by the image sensor 10 on a recording medium (not shown).
  • each processing block and the bus arbitration unit (more specifically, the bus arbitration unit 617 and the bus arbitration unit 626) store information on the progress status of the current processing,
  • the priority control unit 63 is notified.
  • the priority control unit 63 performs processing in each processing block provided in the bus system 61 and the bus system 62 based on the notified information on the progress of the current processing. Observe the progress of the game in real time.
  • the priority control unit 63 dynamically controls the priority of each processing block based on the current progress status of the processing in each processing block.
  • each of the bus arbitration unit 614 and the bus arbitration unit 617 and the bus arbitration unit 623 and the bus arbitration unit 626 has the priority controlled by the priority control unit 63. Based on this, a request for access to the memory from each processing block connected to the corresponding data bus is preferentially accepted (permitted) according to the progress of the processing block.
  • the access request to the memory from each corresponding processing block is matched for each data bus.
  • access to the memory can be arbitrated.
  • the case where each processing block exchanges data via each other's data bus is included. The data flow in each data bus, that is, the bus band of the data bus can be secured.
  • bus arbitration system 60 of the fourth embodiment including the bus arbitration device of the fourth embodiment, it is possible to process each data without delay, and the bus arbitration system of the fourth embodiment. Data processing time of the entire system of the imaging device 4 including the arbitration system 60 can be guaranteed.
  • FIG. 9 is a diagram illustrating an example of an operation of the imaging device 4 including the bus arbitration system 60 including the bus arbitration device according to the fourth embodiment of the present invention.
  • FIG. 9 illustrates an example of an operation in a case where the image processing unit 613 and the image processing unit 622 perform image processing in cooperation with the image processing image data on which the image processing has been performed by the image processing unit 211.
  • FIG. 9 similarly to the example of the operation of the imaging device 1 equipped with the bus arbitration system 20 including the bus arbitration device of the first embodiment shown in FIG. 2 shows a period in which each component is operating, such as a period in which the processing block processes corresponding data, and a period in which access (writing and reading) to each data is performed.
  • the priority control unit 63 determines the priority of the initial value of each processing block provided in the bus arbitration system 60 based on, for example, the operation mode of the imaging device 4, and determines the determined priority in the bus system 61. Are set in the bus arbitration unit 614 and the bus arbitration unit 617, and the bus arbitration unit 623 and the bus arbitration unit 626 in the bus system 62, respectively.
  • the method of setting the priority of the initial value in the priority control unit 63 is the same as that of the CPU 23 provided in the bus arbitration system 20 in the first embodiment, in which the operation mode of the imaging device 4 is determined and Before the block starts operation, the priority of the initial value of each processing block is determined. Then, the priority control unit 63 sets the priority of the determined initial value to each bus arbitration unit.
  • each processing block provided in the bus system 61 is shown.
  • the priority is shown to be set to each of the bus arbitration unit 614, the bus arbitration unit 617, the bus arbitration unit 623, and the bus arbitration unit 626.
  • the respective priorities of the imaging processing unit 211 and the display processing unit 219 are the highest. Description will be made assuming that the value is set high.
  • each processing block starts processing for each frame.
  • the operation of each processing block can be considered in the same manner as the operation of each processing block provided in the bus arbitration system 20 including the bus arbitration device of the first embodiment. Therefore, in the following description, a detailed description of the operation of each processing block is omitted for ease of description.
  • the imaging processing unit 211 outputs, to the data bus 210, imaging processing image data A obtained by performing imaging processing on the pixel signal data for one frame output from the image sensor 10, and stores (writes) the data into the DRAM 216.
  • the access request is output to the bus arbitration unit 614.
  • the image processing unit 613 outputs an access request for acquiring (reading) the captured image data A stored in the DRAM 216 to the bus arbitration unit 614, and performs image processing on the acquired captured image data A.
  • the bus arbitration unit 617 has received an access request for transfer of the data OP1 from the DRAM 216 to the DRAM 225 output from another processing block (not shown) in accordance with the control from the priority control unit 63 (permitted. ). At this time, the bus arbitration unit 617 outputs an access request to acquire (read) the data OP1 from the DRAM 216 to the bus arbitration unit 614, and acquires (reads) the data OP1 output to the data bus 210 by the bus arbitration unit 614. ), And outputs it to the bus controller 218.
  • the bus controller 218 transmits the data OP1 to the bus controller 227, and the bus controller 227 receives the data OP1 transmitted from the bus controller 218 and outputs the data OP1 to the bus arbitration unit 626. Then, the bus arbitration unit 626 outputs the data OP1 output from the bus controller 227 to the data bus 220, and outputs a storage (write) access request to the DRAM 225 to the bus arbitration unit 623. Accordingly, the bus arbitration unit 623 stores (writes) the data OP1 output from the bus arbitration unit 626 to the data bus 220 in the DRAM 225.
  • the priority control unit 63 observes the progress of the processing of the image processing unit 613. Then, the priority control unit 63 outputs an access request for direct storage (writing) of the image processing image data S1 to the DRAM 225 by the image processing unit 613 based on the progress of the processing of the image processing unit 613 that is being observed. By this time, the priority of the image processing unit 613 in the bus arbitration unit 617 is controlled. Here, the priority of the bus arbitration unit 623 is higher than the priority of another processing block (not shown). In this case, the bus arbitration unit 617 first receives (permits) an access request from the image processing unit 613. That is, the bus arbitration unit 617 causes an access request output from another processing block (not shown) to wait.
  • the bus arbitration unit 617 outputs the image processing image data S1 directly output from the image processing unit 613 to the bus controller 218.
  • the bus controller 218 transmits the image processing image data S1 to the bus controller 227
  • the bus controller 227 receives the image processing image data S1 transmitted from the bus controller 218 and outputs the image processing image data S1 to the bus arbitration unit 626.
  • the bus arbitration unit 626 outputs the image-processed image data S1 output from the bus controller 227 to the data bus 220, and outputs a storage (write) access request to the DRAM 225 to the bus arbitration unit 623.
  • the bus arbitration unit 623 stores (writes) the image-processed image data S1 output from the bus arbitration unit 626 to the data bus 220 in the DRAM 225.
  • the image processing unit 622 outputs an access request for acquiring (reading) the image-processed image data S1 stored in the DRAM 225 to the bus arbitration unit 623, and performs image processing on the acquired image-processed image data S1.
  • the bus arbitration unit 617 again receives (permits) an access request from another processing block (not shown) that has been waiting. .
  • the transfer of the data OP1 from the DRAM 216 to the DRAM 225 output from another processing block (not shown) is restarted, and the subsequent data OP1 output to the data bus 220 by the bus arbitration unit 626 is stored in the DRAM 225 (write). Is).
  • the access request for acquisition (reading) of the image-processed image data S1 by the image processing unit 622 is larger than the access request for storage (writing) of the data OP1 to the DRAM 225 by the bus arbitration unit 626. Is given priority (permitted). Therefore, the storage (writing) of the resumed data OP1 in the DRAM 225 is performed after the operation by the image processing unit 622 in response to the access request for acquiring (reading) the image processing image data S1.
  • the image processing unit 622 outputs to the bus arbitration unit 626 an access request for directly storing (writing) the image-processed image data S2 obtained by performing image processing on the obtained image-processed image data S1 in the DRAM 216. Accordingly, the bus arbitration unit 626 outputs the image processing image data S2 directly output from the image processing unit 622 to the bus controller 227. Then, the bus controller 227 transmits the image processing image data S2 to the bus controller 218, and the bus controller 218 receives the image processing image data S2 transmitted from the bus controller 227 and outputs the image processing image data S2 to the bus arbitration unit 617. .
  • the bus arbitration unit 617 outputs the image processing image data S2 output from the bus controller 218 to the data bus 210, and outputs a storage (write) access request to the DRAM 216 to the bus arbitration unit 614. Thereby, the bus arbitration unit 614 stores (writes) the image processing image data S2 output from the bus arbitration unit 617 to the data bus 210 in the DRAM 216.
  • the bus arbitration unit 626 accepts (permits) an access request for transferring the data OP2 from the DRAM 225 to the DRAM 216, which is output from another processing block (not shown). . At this time, the bus arbitration unit 626 outputs an access request to acquire (read) the data OP2 from the DRAM 225 to the bus arbitration unit 623, and acquires (reads) the data OP2 output to the data bus 220 by the bus arbitration unit 623. ), And outputs it to the bus controller 227.
  • the bus controller 227 transmits the data OP2 to the bus controller 218, and the bus controller 218 receives the data OP2 transmitted from the bus controller 227 and outputs the data OP2 to the bus arbitration unit 617. Then, the bus arbitration unit 617 outputs the data OP2 output from the bus controller 218 to the data bus 210, and outputs a storage (write) access request to the DRAM 216 to the bus arbitration unit 614. Thereby, the bus arbitration unit 614 stores (writes) the data OP2 output from the bus arbitration unit 617 to the data bus 210 in the DRAM 216.
  • the image processing unit 613 outputs an access request to acquire (read) the data OP2 stored in the DRAM 216 to the bus arbitration unit 214 and the bus arbitration unit 614.
  • the priority control unit 63 observes the progress of the processing of the image processing unit 613. Then, the priority control unit 63 controls the priority of the image processing unit 613 in the bus arbitration unit 614 based on the progress of the process of the image processing unit 613 that is being observed. Here, it is assumed that the priority of still another processing block (not shown) is higher than the priority of the image processing unit 613. In this case, the bus arbitration unit 614 waits for an access request to acquire (read) the data OP2 output from the image processing unit 613, and first receives an access request from another processing block (not shown) (permission). Do). Then, the bus arbitration unit 614 stores (writes) the data OP2 output to the data bus 210 by the bus arbitration unit 617 in the DRAM 216.
  • the bus arbitration unit 614 acquires (reads) the data OP2 from the image processing unit 613 that has been waiting. ) Accept (permit) the access request.
  • the image processing unit 613 acquires (reads) the data OP2.
  • the image processing unit 613 outputs the image-processed image data S3 subjected to the image processing to the data bus 210, and issues a storage (write) access request to the DRAM 216. Is output to the bus arbitration unit 614.
  • the image processing image data S3 output from the image processing unit 613 to the data bus 210 is stored (written) in the DRAM 216.
  • the display processing unit 219 outputs to the bus arbitration unit 614 an access request to acquire (read) the image processing image data S3 stored in the DRAM 216 as the display image data E. Then, the display processing unit 219 performs display processing on the acquired display image data E to generate a display image, and outputs the generated display image to the display device 30 for display.
  • each processing block outputs an access request to the DRAM 216 or 225. Then, in the bus arbitration system 60, the bus arbitration unit 614 and the bus arbitration unit 617 included in the bus system 61 and the bus arbitration unit 623 and the bus arbitration unit 626 included in the bus system 62 are each processed by a corresponding processing block. Arbitration based on the priority controlled by the priority control unit 63.
  • the bus arbitration unit 614 stores (writes) the image processing image data A from the image processing unit 211, acquires (reads) the image processing image data A and data OP2 from the image processing unit 613, and Storage (writing) of the image processing image data S3, acquisition (reading) of the data OP1 from the bus arbitration unit 617, storage (writing) of the image processing image data S2 and the data OP2, and display image data from the display processing unit 219.
  • the respective access requests for obtaining (reading) E (image processing image data S3) are arbitrated.
  • the bus arbitration unit 617 stores (writes) the image processing image data S1 from the image processing unit 613 directly into the DRAM 225, transfers the data OP1 from another processing block (not shown), and Arbitrates the respective access requests for the transfer of the image processing image data S2 and the data OP2.
  • the bus arbitration unit 626 stores (writes) the image processing image data S1 from the bus controller 227 into the DRAM 225, transfers the data OP1 and the data OP2 from the bus controller 227, and performs image processing from the image processing unit 622.
  • the respective access requests for directly storing (writing) the image data S2 in the DRAM 216 are arbitrated.
  • the bus arbitration unit 623 stores (writes) the data OP1 and the image processing image data S1 from the bus arbitration unit 626 and acquires (reads) the data OP2, and acquires the image processing image data S1 from the image processing unit 622. (Read) and arbitrate each access request.
  • the bus arbitration system 60 the access request to the memory from each processing block provided in the bus system 61 and the bus system 62 is transmitted to the priority control unit 63, the bus arbitration unit 614 and the bus arbitration unit 617. And the bus arbitration device of the fourth embodiment including the bus arbitration unit 623 and the bus arbitration unit 626 arbitrates.
  • each processing block and the bus arbitration unit (more specifically, the bus arbitration unit 617 and the bus arbitration unit 626) store information on the progress of the current processing,
  • the priority control unit 63 is notified via the control path. Then, in the bus arbitration system 60, the priority control unit 63 determines the progress of processing in each processing block provided in the bus system 61 and the bus system 62 in real time based on the notified information on the progress of the current processing. Observe. Then, the priority control unit 63 dynamically controls the priority of each processing block through a priority control path based on the current progress of the processing in each of the observed processing blocks.
  • the bus arbitration unit 614 and the bus arbitration unit 617, and the bus arbitration unit 623 and the bus arbitration unit 626 each perform an access request based on the priority controlled by the priority control unit 63. Is determined from the processing blocks that have output the request, the processing block that preferentially receives (permits) a memory access request.
  • the priority control unit 63 causes the processing blocks and the bus arbitration unit (more specifically, the bus arbitration unit 617 and the bus arbitration unit 626) to proceed with the processing. The status is observed, and the priority of each processing block is dynamically controlled based on the observed progress of the processing.
  • the bus arbitration system 60 of the fourth embodiment including the bus arbitration device of the fourth embodiment the access requests to the memories from the respective processing blocks are matched to arbitrate the access to the memories. be able to.
  • the case where each processing block exchanges data via each other's data bus is included.
  • a bus band in each data bus can be secured.
  • the bus arbitration system 60 of the fourth embodiment including the bus arbitration device of the fourth embodiment the data processing time in each processing block is secured, and the bus arbitration system of the fourth embodiment is provided. The operation of the entire system of the imaging device 4 equipped with 60 can be guaranteed.
  • the priority control unit 63 in the bus arbitration system 60 uses the processing block and the information on the progress of the current process notified from the bus arbitration unit. Based on this, the progress of the processing in each processing block is monitored in real time, and the priority is dynamically controlled.
  • each of the bus arbitration unit 614 and the bus arbitration unit 617, and the bus arbitration unit 623 and the bus arbitration unit 626 corresponds to the corresponding processing block controlled by the priority control unit 63. Arbitrates the access requests to the memory by each processing block based on the priority of.
  • the access request to the memory from each corresponding processing block is matched for each data bus.
  • access to the memory can be arbitrated. That is, in the bus arbitration device of the fourth embodiment, each of the bus arbitration unit 614 and the bus arbitration unit 617 and the bus arbitration unit 623 and the bus arbitration unit 626 performs processing depending on the progress of the processing of the corresponding processing block. Even when the bus bandwidth required for a block fluctuates, arbitration can be appropriately performed so that the access request to the memory from each processing block does not wait more than necessary.
  • each processing block exchanges data via each other's data bus is included.
  • a bus band in each data bus can be secured.
  • each data can be processed without delay, and the bus of the fourth embodiment can be processed without delay.
  • the operation of the imaging device 4 including the arbitration system 60 as a whole system can be guaranteed.
  • the bus arbitration system 60 according to the fourth embodiment including the bus arbitration device according to the fourth embodiment a case has been described in which the bus system 61 and the bus system 62 are configured by one system LSI.
  • the configuration of the bus arbitration system including the bus arbitration device of the present invention is not limited to the configuration of one system LSI, and may be configured by two different system LSIs.
  • the priority control unit 63 may be configured as another system LSI different from each system LSI. In this case, the priority control unit 63 directly sets the priority of the processing block provided in each bus system to each of the bus arbitration unit 614 and the bus arbitration unit 617, and the bus arbitration unit 623 and the bus arbitration unit 626. It may be configured.
  • the priority control unit 63 may be configured to be arranged in any of the system LSIs. In this case, the priority control unit 63 determines the priority of each processing block provided in the bus system of the other system LSI in which the priority control unit 63 is not provided, by using the bus in the bus system provided in each system LSI. It may be configured to set via a controller.
  • the priority control unit 63 has a configuration corresponding to both the bus system 61 and the bus system 62.
  • the control of the priority in the processing blocks connected to each data bus is not limited to the configuration realized by one priority control unit.
  • the bus arbitration device is configured such that when a processing block for performing a plurality of types of image processing is connected to each data bus, an access request to a memory connected to each data bus is provided. And a priority control unit for controlling the arbitration of each of the data buses.
  • the bus arbitration device is mounted on an imaging device such as a still image camera or a moving image camera, for example. A case where the system is provided in the bus arbitration system will be described.
  • FIG. 10 is a block diagram illustrating a schematic configuration of an imaging device equipped with a bus arbitration system including a bus arbitration device according to a fifth embodiment of the present invention.
  • the bus arbitration system illustrated in FIG. 10 includes a priority control unit similar to the priority control unit 63 included in the bus arbitration system 60 including the bus arbitration device according to the fourth embodiment illustrated in FIG. It is configured to be provided for each.
  • the configuration of the imaging device equipped with the bus arbitration system including the bus arbitration device of the fifth embodiment shown in FIG. 10 includes the bus arbitration device of the fourth embodiment shown in FIG. It includes the same components as the imaging device 4 equipped with the bus arbitration system 60.
  • the components of the imaging device equipped with the bus arbitration system equipped with the bus arbitration device of the fifth embodiment the components of the imaging device 4 equipped with the bus arbitration system 60 equipped with the bus arbitration device of the fourth embodiment.
  • the same reference numerals are given to the same components as the components, and the detailed description of each component is omitted.
  • the bus arbitration system of the fifth embodiment shown in FIG. 10 and the bus arbitration system including the bus arbitration device of the fifth embodiment shown in FIG. 10 include the bus arbitration system of the fourth embodiment shown in FIG. It includes the same components as those of the bus arbitration system 60 including the device and the bus arbitration device of the fourth embodiment.
  • bus arbitration device of the fifth embodiment and the bus arbitration system including the bus arbitration device of the fifth embodiment the bus arbitration device of the fourth embodiment and the bus arbitration of the fourth embodiment
  • the bus arbitration device of the fourth embodiment and the bus arbitration of the fourth embodiment The same components as those of the bus arbitration system 60 including the devices are denoted by the same reference numerals, and detailed description of each component will be omitted.
  • the imaging device 5 illustrated in FIG. 10 includes the image sensor 10, the bus arbitration system 70, and the display device 30.
  • the bus arbitration system 70 includes two bus systems (a bus system 71 and a bus system 72).
  • the bus system 71 includes an imaging processing unit 211, an image processing unit 613, a bus arbitration unit 614, a memory control unit 215, a DRAM 216, a bus arbitration unit 617, a bus controller 218, a display processing unit 219, , A priority control unit 710.
  • the bus system 71 may include the digital signal processor 212 similarly to the bus system 21 included in the bus arbitration system 20 including the bus arbitration device according to the first embodiment. For ease of explanation, the digital signal processor 212 is omitted.
  • the imaging processing unit 211, the image processing unit 613, the bus arbitration unit 614, the bus arbitration unit 617, and the display processing unit 219 are connected to the common data bus 210.
  • the bus system 72 includes an image processing unit 622, a bus arbitration unit 623, a memory control unit 224, a DRAM 225, a bus arbitration unit 626, a bus controller 227, and a priority control unit 720.
  • the bus system 72 may include the digital signal processor 221 similarly to the bus system 22 included in the bus arbitration system 20 including the bus arbitration device according to the first embodiment. For ease of explanation, the digital signal processor 221 is omitted.
  • each of the image processing unit 622, the bus arbitration unit 623, and the bus arbitration unit 626 is connected to the common data bus 220.
  • the priority control unit 710, the bus arbitration unit 614, and the bus arbitration unit 617 in the bus system 71, the priority control unit 720, the bus arbitration unit 623, and the The configuration with the bus arbitration unit 626 corresponds to the bus arbitration device of the fifth embodiment.
  • the bus arbitration system 70 also includes two bus systems, a bus system 71 and a bus system 72, similarly to the bus arbitration system 60 in the fourth embodiment shown in FIG. FIG. 10 also shows a case where each of the bus system 71 and the bus system 72 has a configuration including a DRAM (DRAM 216 or DRAM 225), similarly to the bus arbitration system 60 in the fourth embodiment.
  • the configuration of the bus arbitration system 70 is not limited to the configuration shown in FIG. 10 as in the bus arbitration system 60 in the fourth embodiment. That is, similarly to the bus arbitration system 60 in the fourth embodiment, the bus arbitration system 70 may have a configuration including two system LSIs or may be configured as one system LSI.
  • the bus arbitration system 70 also has a configuration in which each of the DRAMs 216 and 225 is arranged outside one system LSI including the bus system 71 and the bus system 72 and connected to the corresponding data bus.
  • the DRAM 216 is a component included in the bus system 71 and the DRAM 225 is The description will be made assuming that the components are included in the system 72.
  • the imaging device 5 also performs the same operation as the imaging device 4 in the fourth embodiment shown in FIG.
  • the bus arbitration system 70, the bus system 71 and the bus system 72 constituting the bus arbitration system 70, and the respective components included in the bus system 71 and the bus system 72 are also imaged in the fourth embodiment.
  • the same operation as the corresponding component of the device 4 is performed.
  • in the operation of each component included in the bus arbitration system 70 a detailed description of the same operation as the corresponding component included in the bus arbitration system 60 in the fourth embodiment will be omitted, and Only operations and processes different from the corresponding components provided in the bus arbitration system 60 in the fourth embodiment will be described.
  • each of the imaging processing unit 211, the image processing unit 613, and the display processing unit 219 provided in the bus system 71, and the image processing unit 622 provided in the bus system 72 includes the bus arbitration system 70.
  • a priority control unit 710 and a priority control unit 720 corresponding to the priority control unit 63 provided in the bus arbitration system 60 according to the fourth embodiment include a corresponding bus system (the bus system 71 or the bus system 72). ). That is, in the bus arbitration system 70, the priority control unit 710 is provided in the bus system 71, and the priority control unit 720 is provided in the bus system 72. In other words, the bus arbitration system 70 includes a priority control unit corresponding to the priority control unit 63 included in the bus arbitration system 60 according to the fourth embodiment for each data bus.
  • the bus arbitration system 70 controls the arbitration of the access request to the DRAM by the connected processing block for each data bus. That is, in the bus arbitration system 70, the priority control unit 710 dynamically controls the priority when each processing block connected to the data bus 210 in the bus system 71 accesses the DRAM 216, and the priority control unit 720 Dynamically controls the priority when each processing block connected to the data bus 220 in the bus system 72 accesses the DRAM 225.
  • Each of the priority control unit 710 and the priority control unit 720 is a priority control unit that performs the same operation as the priority control unit 63 provided in the bus arbitration system 60 in the fourth embodiment.
  • each of the priority control unit 710 and the priority control unit 720 observes the progress of processing in each processing block connected to the corresponding data bus 210, and based on the observation result, each processing block The priority at the time of accessing the DRAM is dynamically controlled. That is, also in the bus arbitration system 70, each of the priority control unit 710 and the priority control unit 720 controls such that the access to the DRAM by the corresponding processing block does not wait unnecessarily.
  • the concept of dynamically controlling the priority of each processing block corresponding to each of the priority control unit 710 and the priority control unit 720 is based on the priority control provided in the bus arbitration system 60 in the fourth embodiment. This is the same as the concept of the unit 63, that is, the concept when the CPU 43 configuring the bus arbitration device of the second embodiment dynamically changes the priority of each processing block.
  • FIG. 10 illustrates a path (observation path) in which the priority control unit 710 observes the progress of the processing of the image processing unit 613 and the bus arbitration unit 617 in the bus system 71.
  • FIG. 10 shows a path (observation path) in which the priority control section 720 observes the progress of the processing of the image processing section 622 and the bus arbitration section 626 in the bus system 72.
  • the priority control unit 710 and the priority control unit 720 observe the progress of processing in each processing block.
  • the priority control unit 710 determines the priority when each of the bus arbitration unit 614 and the bus arbitration unit 617 in the bus system 71 receives (permits) an access request from a processing block corresponding thereto. It shows a path that is dynamically controlled (priority control path).
  • the priority control unit 720 determines the priority when the bus arbitration unit 623 and the bus arbitration unit 626 in the bus system 72 accept (permit) an access request from a processing block corresponding to each.
  • the path to be controlled is shown. In the present invention, there is no particular limitation on the method by which the priority control unit 710 and the priority control unit 720 control access requests accepted (permitted) by the respective bus arbitration units.
  • each of the priority control unit 710 and the priority control unit 720 transmits information obtained by observing the progress of processing in the corresponding processing block or information controlling the priority when the corresponding processing block accesses the DRAM. Interact with each other. Thereby, each of the priority control unit 710 and the priority control unit 720 shares information with each other. Then, each of the priority control unit 710 and the priority control unit 720 matches an access request to the DRAM by each processing block connected to the corresponding data bus, based on the information exchanged with each other.
  • FIG. 10 shows a path (information path) in which the priority control unit 710 and the priority control unit 720 exchange information with each other.
  • the method by which each of the priority control unit 710 and the priority control unit 720 exchanges information with each other there is no particular limitation on the method by which each of the priority control unit 710 and the priority control unit 720 exchanges information with each other.
  • the imaging device 5 captures a still image or a moving image of a subject with the image sensor 10 and causes the display device 30 to display a display image corresponding to the captured still image or the moving image.
  • the imaging device 5 can also record a still image or a recorded image corresponding to a moving image captured by the image sensor 10 on a recording medium (not shown).
  • the priority control unit 710, the bus arbitration unit 614, and the bus arbitration unit 617 in the bus system 71, and the priority control unit 720, the bus arbitration unit 623, and the bus arbitration unit 626 in the bus system 72 This constitutes the bus arbitration device of the fifth embodiment. That is, in the system of the bus arbitration system 70 according to the fifth embodiment in which two data buses (the data bus 210 and the data bus 220) are provided, the priorities of the processing blocks connected to the respective data buses are matched. Thus, the bus arbitration device of the fifth embodiment that arbitrates access to the memory is configured.
  • each bus system (more specifically, the bus system 71 and the bus system 72), that is, each data bus (more specifically, the data bus 210 And the data bus 220) includes a priority control unit (more specifically, a priority control unit 710 and a priority control unit 720).
  • each processing block and the bus arbitration unit (more specifically, the bus arbitration unit 617 and the bus arbitration unit 626) output information on the progress status of the current processing, Notify the corresponding priority control unit.
  • each priority control unit monitors the progress of processing in each processing block connected to the corresponding data bus in real time.
  • the respective priority control units exchange information with each other.
  • each priority control unit responds based on the current progress status of the process in each observed processing block based on information of another priority control unit exchanged.
  • the priority of each processing block is dynamically controlled.
  • each of the bus arbitration unit 614 and the bus arbitration unit 617 and the bus arbitration unit 623 and the bus arbitration unit 626 has the priority controlled by the corresponding priority control unit.
  • the access request to the memory from each processing block connected to the corresponding data bus is preferentially accepted (permitted) according to the progress of the processing block.
  • the bus arbitration system 70 of the fifth embodiment including the bus arbitration device of the fifth embodiment the access request to the memory from each corresponding processing block is matched for each data bus.
  • the processing blocks include a case where each processing block exchanges data with each other via the data bus.
  • the data flow in each data bus, that is, the bus band of the data bus can be secured.
  • bus arbitration system 70 of the fifth embodiment including the bus arbitration device of the fifth embodiment, it is possible to process each data without delay, and It is possible to guarantee the data processing time of the entire system of the imaging device 5 including the arbitration system 70.
  • the control of access requests to the DRAM 216 and the DRAM 225 by the respective processing blocks provided in the bus system 71 and the bus system 72 and the operation of the bus arbitration system 70 are the same as those of the fourth embodiment. It can be considered similarly to the system 60. Accordingly, a detailed description of control of an access request to the DRAM 216 or 225 by each processing block in the bus arbitration system 70 and an operation of the bus arbitration system 70 will be omitted.
  • the priority control unit includes a first priority control unit (priority control unit 710) that controls the priority of an access request received by the first bus arbitration unit (bus arbitration unit 614).
  • An arbitration device (bus arbitration device) is configured.
  • the bus arbitration device of the fifth embodiment includes a priority control unit for each data bus in the bus arbitration system 70. Then, in the bus arbitration device of the fifth embodiment, each priority control unit performs each processing based on the information on the corresponding processing block and the progress status of the current processing notified from the bus arbitration unit. The progress of the processing in the block is observed in real time, and the priority is dynamically controlled based on the observed progress of the processing in each processing block and information of another exchanged priority control unit. In the bus arbitration device of the fifth embodiment, each of the bus arbitration unit 614 and the bus arbitration unit 617 and the bus arbitration unit 623 and the bus arbitration unit 626 performs the corresponding process controlled by the corresponding priority control unit.
  • the access request to the memory by each processing block is arbitrated.
  • the bus arbitration system 70 of the fifth embodiment including the bus arbitration device of the fifth embodiment the access request to the memory from each corresponding processing block is matched for each data bus.
  • access to the memory can be arbitrated. That is, in the bus arbitration device of the fifth embodiment, each of the bus arbitration unit 614 and the bus arbitration unit 617 and the bus arbitration unit 623 and the bus arbitration unit 626 performs processing depending on the progress of the processing of the corresponding processing block. Even when the bus bandwidth required for a block varies, arbitration can be appropriately performed so that the access request to the memory from each processing block does not wait more than necessary.
  • the processing blocks include a case where each processing block exchanges data with each other via the data bus. , A bus band in each data bus can be secured.
  • the respective data can be processed without delay, and the bus of the fifth embodiment The operation of the imaging apparatus 5 including the arbitration system 70 as a whole system can be guaranteed.
  • a priority control unit is provided for each data bus in the bus arbitration system 70, so that one priority control unit has a higher priority than a configuration corresponding to all data buses. It is possible to facilitate the routing of signal lines exchanged on the degree control path and the observation path, and to improve the degree of freedom in arranging (laying out) each component to configure a system LSI.
  • bus arbitration system 70 including the bus arbitration device according to the fifth embodiment, a case has been described in which the bus system 71 and the bus system 72 are configured by one system LSI.
  • the configuration of the bus arbitration system including the bus arbitration device of the present invention is not limited to the configuration of one system LSI, and may be configured by two different system LSIs.
  • each priority control unit is arranged in each corresponding system LSI.
  • each priority control unit may be configured to exchange information with each other by data communication by a communication unit provided in each system LSI.
  • bus arbitration device according to a sixth embodiment of the present invention.
  • a bus arbitration system including the bus arbitration apparatus of the sixth embodiment includes two bus systems
  • each bus system is configured by a system LSI. It is composed.
  • the bus arbitration device according to the sixth embodiment of the present invention is mounted on an imaging device such as a still image camera or a moving image camera, for example, according to the sixth embodiment of the present invention. A case where the system is provided in the bus arbitration system will be described.
  • FIG. 11 is a block diagram showing a schematic configuration of an imaging device equipped with a bus arbitration system including a bus arbitration device according to the sixth embodiment of the present invention.
  • the bus arbitration system shown in FIG. 11 is a bus arbitration system 70 including the bus arbitration device of the fifth embodiment shown in FIG. Are constituted by a system LSI. That is, the bus arbitration system shown in FIG. 11 has a configuration including two system LSIs. For this reason, the configuration of the imaging device equipped with the bus arbitration system including the bus arbitration device of the sixth embodiment shown in FIG. 11 includes the bus arbitration device of the fifth embodiment shown in FIG. It includes the same components as the imaging device 5 equipped with the bus arbitration system 70.
  • the components of the imaging device equipped with the bus arbitration system including the bus arbitration device of the sixth embodiment are included.
  • the same reference numerals are given to the same components as the components, and the detailed description of each component is omitted.
  • the bus arbitration system of the sixth embodiment shown in FIG. 11 and the configuration of the bus arbitration system including the bus arbitration device of the sixth embodiment include the bus arbitration of the fifth embodiment shown in FIG. It includes components similar to those of the bus arbitration system 70 including the device and the bus arbitration device of the fifth embodiment.
  • the bus arbitration device of the fifth embodiment and the bus arbitration of the fifth embodiment are denoted by the same reference numerals, and detailed description of each component will be omitted.
  • the imaging device 6 shown in FIG. 11 includes the image sensor 10, the bus arbitration system 80, and the display device 30. Further, the bus arbitration system 80 includes two bus system chips (the bus system chip 81 and the bus system chip 82) and two DRAMs (the DRAM 216 and the DRAM 225).
  • the bus system chip 81 is a system LSI in which components other than the DRAM are arranged in one of the bus systems constituting the bus arbitration system 80.
  • the bus system chip 81 includes an imaging processing unit 211, an image processing unit 613, a bus arbitration unit 614, a memory control unit 215, a communication arbitration unit 817, a communication unit 818, a display processing unit 219, a priority control unit 710.
  • the bus system chip 81 corresponds to a system in which components other than the DRAM 216 in the bus system 71 constituting the bus arbitration system 70 including the bus arbitration device of the fifth embodiment are constituted by a system LSI.
  • the bus arbitration unit 617 provided in the bus system 71 constituting the bus arbitration system 70 of the fifth embodiment is replaced by the communication arbitration unit 817, and the bus controller 218 is replaced by the communication unit 818.
  • the bus system chip 81 may also include the digital signal processor 212 similarly to the bus system 21 included in the bus arbitration system 20 including the bus arbitration device according to the first embodiment. For simplicity, the digital signal processor 212 is omitted.
  • the imaging processing unit 211, the image processing unit 613, the bus arbitration unit 614, the communication arbitration unit 817, and the display processing unit 219 are connected to the common data bus 210.
  • the bus system chip 82 is a system LSI in which components other than the DRAM are arranged in the other bus system constituting the bus arbitration system 80.
  • the bus system chip 82 includes an image processing unit 622, a bus arbitration unit 623, a memory control unit 224, a communication arbitration unit 826, a communication unit 827, and a priority control unit 720.
  • the bus system chip 82 corresponds to a system LSI in which components other than the DRAM 225 in the bus system chip 82 of the bus arbitration system 70 including the bus arbitration device of the fifth embodiment are configured.
  • the bus arbitration unit 626 provided in the bus system 72 constituting the bus arbitration system 70 of the fifth embodiment is replaced by the communication arbitration unit 826, and the bus controller 227 is replaced by the communication unit 827.
  • the bus system chip 82 may include a digital signal processor 221 similarly to the bus system 22 included in the bus arbitration system 20 including the bus arbitration device according to the first embodiment. For simplicity, the digital signal processor 221 is omitted.
  • each of the image processing unit 622, the bus arbitration unit 623, and the communication arbitration unit 826 is connected to the common data bus 220.
  • the two bus systems are composed of two system LSIs, a bus system chip 81 and a bus system chip 82. For this reason, in the bus arbitration system 80, two DRAMs (DRAM 216 or DRAM 225) corresponding to each bus system chip are externally connected.
  • the configuration of the bus arbitration system 80 is not limited to the configuration shown in FIG. That is, the bus arbitration system 80 may have a configuration in which two bus systems are configured by one system LSI, and two DRAMs (DRAM 216 or DRAM 225) are externally connected.
  • the imaging device 6 also performs the same operation as the imaging device 5 according to the fifth embodiment illustrated in FIG.
  • the bus arbitration system 80 the respective components (the bus system chip 81, the bus system chip 82, the DRAM 216, and the DRAM 225) constituting the bus arbitration system 80, the bus system chip 81 and the bus system chip 82
  • Each of the provided components includes the same components as the corresponding components of the imaging device 5 in the fifth embodiment.
  • a detailed description of the same components as the corresponding components provided in the bus arbitration system 70 in the fifth embodiment will be omitted, and Only components different from the corresponding components provided in the bus arbitration system 70 in the fifth embodiment will be described.
  • each of the imaging processing unit 211, the image processing unit 613, and the display processing unit 219 provided in the bus system chip 81, and the image processing unit 622 provided in the bus system chip 82 are connected to the bus arbitration system.
  • This is a processing block that implements a processing function of performing image processing in the system 80.
  • each processing block that realizes the processing function of performing image processing is the same processing block as the corresponding processing block provided in the bus arbitration system 70 in the fifth embodiment.
  • the priority control unit 710 provided in the bus system chip 81 and the priority control unit 720 provided in the bus system chip 82 are different from the priority control unit provided in the bus arbitration system 70 in the fifth embodiment.
  • the bus arbitration system 80 operates the same as the bus arbitration system 70 in the fifth embodiment.
  • the bus arbitration unit 617 provided in the bus arbitration system 70 according to the fifth embodiment replaces the communication arbitration unit 817
  • the bus controller 218 replaces the communication unit 818
  • the bus arbitration system The unit 626 has replaced the communication arbitration unit 826
  • the bus controller 227 has replaced the communication unit 827.
  • the communication arbitration unit 817 and the communication arbitration unit 826 are the same as the corresponding bus arbitration unit 617 and the bus arbitration unit 626 provided in the bus arbitration system 70 in the fifth embodiment, and the other bus system from the corresponding image processing unit.
  • a direct access request to the image processing unit of the chip and an access request to the DRAM connected to the other bus system chip from each processing block connected to the corresponding data bus are arbitrated. Accept an access request.
  • the communication arbitration unit 817 and the communication arbitration unit 826 respond to the received access request and this access request in the same manner as the corresponding bus arbitration unit 617 and bus arbitration unit 626 provided in the bus arbitration system 70 in the fifth embodiment.
  • the corresponding data is output (transferred) to the corresponding communication unit.
  • the communication arbitration unit 817 and the communication arbitration unit 826 are provided with the image provided on the other bus system chip similarly to the corresponding bus arbitration unit 617 and bus arbitration unit 626 provided in the bus arbitration system 70 in the fifth embodiment.
  • a direct access request from the processing unit to the corresponding image processing unit and an access request to the DRAM via the corresponding data bus from each processing block provided in the other bus system chip are accepted.
  • the communication arbitration unit 817 and the communication arbitration unit 826 output (transfer) the received access request and the data corresponding to the access request to the corresponding image processing unit or the corresponding bus arbitration unit.
  • the communication arbitration unit 817 and the communication arbitration unit 826 are connected by a priority control path from the corresponding priority control unit, similarly to the corresponding bus arbitration unit 617 and bus arbitration unit 626 provided in the bus arbitration system 70 in the fifth embodiment. Based on the controlled priority, an access request to the other bus system chip to be accepted (permitted) is determined from the respective access requests. Note that the bus arbitration unit 614 and the bus arbitration unit 623 dynamically control the priority for determining an access request to the other bus system chip to be accepted (permitted) by the corresponding priority control unit. The communication arbitration unit 817 determines an access request to the bus system chip 82 to be accepted (permitted) from the respective access requests based on the priority controlled by the priority control unit 710.
  • the accepted (permitted) access request to the bus system chip 82 and the data corresponding to the access request are output (transmitted) to the bus system chip 82 via the communication unit 818.
  • the communication arbitration unit 826 determines an access request to the bus system chip 81 to be accepted (permitted) from the respective access requests based on the priority controlled by the priority control unit 720.
  • the accepted (permitted) access request to the bus system chip 81 and data corresponding to the access request are output (transmitted) to the bus system chip 81 via the communication unit 827.
  • the arbitration operation of the access request in the communication arbitration unit 817 and the communication arbitration unit 826 and the operation of data transfer are the same as those in the fifth embodiment except that the data transfer destination is changed from the bus controller to the communication unit.
  • the corresponding bus arbitration unit 617 and bus arbitration unit 626 provided in the bus arbitration system 70 can be considered in the same manner. Therefore, detailed description of the operation of arbitrating access requests and the operation of transferring data in the communication arbitration unit 817 and the communication arbitration unit 826 will be omitted.
  • the corresponding priority control unit monitors the progress of the processing in the communication arbitration unit 817 and the communication arbitration unit 826. For this reason, each of the communication arbitration unit 817 and the communication arbitration unit 826 transmits, on the observation path, information on the progress of the current process in the accepted (permitted) access request, that is, information on the data output (transfer) status. Notify the corresponding priority control unit.
  • the communication unit 818 and the communication unit 827 exchange an access request output (transferred) from the corresponding communication arbitration unit and data corresponding to the access request between the bus system chip 81 and the bus system chip 82.
  • Communication unit for performing communication The communication unit 818 and the communication unit 827 communicate (transmit and receive) the access request output (transferred) from the corresponding communication arbitration unit and the data corresponding to the access request in the same format via the communication path shown in FIG. ).
  • the communication unit 818 and the communication unit 827 communicate information between the priority control unit 710 and the priority control unit 720 and observe the progress of processing in the corresponding processing block, and the corresponding processing block accesses the DRAM.
  • the information whose priority is controlled at the time is also communicated (transmitted / received).
  • the corresponding priority control unit and another priority control unit exchange information (hereinafter, referred to as “transfer information”) with each other via the information path illustrated in FIG. Therefore, in the bus arbitration system 80, the information path between the priority control section 710 and the communication section 818, the communication path between the communication section 818 and the communication section 827, and the communication section 827 and the priority control shown in FIG.
  • the route obtained by combining the information routes with the unit 720 corresponds to the information route (see FIG. 10) in the bus arbitration system 70 of the fifth embodiment.
  • the communication unit 818 and the communication unit 827 may communicate (transmit and receive) the access request and data in a parallel format, or may communicate (transmit and receive) the access request and data in a serial format.
  • the communication unit 818 and the communication unit 827 similarly to the bus controller 218 or the bus controller 227 provided in the bus arbitration system 70 according to the fifth embodiment, the communication unit 818 and the communication unit 827 transmit a predetermined high-speed serial bus specification such as PCI-Express.
  • the access request and the data may be communicated (transmitted / received) in a format according to the method.
  • the communication unit 818 and the communication unit 827 are predetermined in accordance with the MIPI (registered trademark) specification, the AXI specification, and the like, like the bus controller 218 and the bus controller 227 provided in the bus arbitration system 70 in the fifth embodiment.
  • the access request and the data may be communicated (transmitted / received) in a format according to various specifications.
  • the format of the communication between the communication unit 818 and the communication unit 827 and the format of the access request and data that the communication unit 818 and the communication unit 827 communicate (transmit and receive) with each other are particularly limited. Do not.
  • the operation of communication (transmission / reception) between an access request and data (including transfer information) in the communication unit 818 and the communication unit 827 can be easily considered based on existing communication technology.
  • the operation of communication (transmission / reception) between the access request and the data (including transfer information) in the communication unit 818 and the communication unit 827 performs communication between the bus system chip 81 and the bus system chip 82, that is, the bus system chip 82.
  • the bus controller 218 and the bus controller 227 provided in the bus arbitration system 70 may exchange the access request and the data with each other. Therefore, a detailed description of the communication (transmission / reception) operation between the access request and the data in the communication unit 818 and the communication unit 827 is omitted.
  • the imaging device 6 causes the image sensor 10 to capture a still image or a moving image of a subject, and causes the display device 30 to display a display image corresponding to the captured still image or the moving image. Further, the imaging device 6 can also record a recorded image corresponding to a still image or a moving image captured by the image sensor 10 on a recording medium (not shown).
  • the priority control unit 710, the bus arbitration unit 614, and the communication arbitration unit 817 in the bus system chip 81, and the priority control unit 720, the bus arbitration unit 623, and the communication arbitration unit in the bus system chip 82. 826 constitutes the bus arbitration device of the sixth embodiment. That is, in the system of the bus arbitration system 80 of the sixth embodiment having the configuration of the two system LSIs provided with the two data buses (the data bus 210 and the data bus 220), the processing blocks connected to the respective data buses A bus arbitrating device according to a sixth embodiment for arbitrating access to a memory by matching the priorities of the buses.
  • each bus system chip (more specifically, the bus system chip 81 and the bus system chip 82), that is, each data bus (more specifically, Each of the data bus 210 and the data bus 220 includes a priority control unit (more specifically, a priority control unit 710 and a priority control unit 720).
  • each processing block, bus arbitration unit (more specifically, bus arbitration unit 614 and bus arbitration unit 623), and bus arbitration unit (More specifically, the communication arbitration unit 817 and the communication arbitration unit 826) notify the priority control unit of information on the progress of the current process.
  • the priority control unit monitors the progress of processing in each processing block connected to the corresponding data bus in real time.
  • the priority control units provided in the respective bus system chips exchange information with each other.
  • the priority control unit determines the current progress of the processing in each of the observed processing blocks and the priority in the another bus system chip that has been exchanged.
  • the priority of each corresponding processing block is dynamically controlled based on the information of the control unit.
  • each of the bus arbitration unit and the communication arbitration unit sets the corresponding data bus based on the priority controlled by the priority control unit.
  • each bus system chip accesses the memory from each processing block connected to the data bus. Requests can be coordinated with the data bus of another bus system chip to arbitrate access to the memory.
  • the processing blocks provided in the respective bus system chips pass through the data bus of another bus system chip. The data flow in the data bus in each bus system chip, that is, the bus band of the data bus can be secured, including the case of exchanging data.
  • each bus system chip can process each data without delay, It is possible to guarantee the data processing time of the entire system of the imaging device 6 equipped with the bus arbitration system 80 of the sixth embodiment.
  • each of the priority control unit 710 and the priority control unit 720 exchanges information (transfer information) with each other via the communication unit 818 and the communication unit 827.
  • the configuration is shown.
  • the method of exchanging transfer information between the priority control unit 710 and the priority control unit 720 in the bus arbitration system 80 is not limited to the method of passing through the communication unit 818 and the communication unit 827.
  • the priority control unit 710 and the priority control unit 720 may be configured to exchange transfer information via each of the communication arbitration unit 817 and the communication arbitration unit 826. In this case, each of the priority control unit 710 and the priority control unit 720 outputs an access request to transfer the transfer information to the corresponding communication arbitration unit.
  • Each of the communication arbitration unit 817 and the communication arbitration unit 826 also arbitrates an access request for transfer of transfer information from the corresponding priority control unit, and when the access request is received, transfers the transfer information to the corresponding communication unit. Output (transfer).
  • each of the communication unit 818 and the communication unit 827 communicates (transmits and receives) the transfer information output (transferred) from the corresponding communication arbitration unit.
  • FIG. 12 is a diagram illustrating an example of an operation of the imaging device 6 including the bus arbitration system 80 including the bus arbitration device according to the sixth embodiment of the present invention.
  • FIG. 12 illustrates an example of an operation in a case where the image processing unit 613 and the image processing unit 622 perform image processing in cooperation with the image processing image data on which the imaging processing unit 211 has performed the imaging process.
  • an example of the operation of the imaging device 6 illustrated in FIG. 12 is an operation in which each processing block performs the same processing as the example of the operation of the imaging device 4 of the fourth embodiment illustrated in FIG. FIG.
  • FIG. 12 shows the bus arbitration system 80 as in the example of the operation of the imaging device 4 equipped with the bus arbitration system 60 including the bus arbitration device of the fourth embodiment shown in FIG. 2 shows a period in which each component is operating, such as a period in which the processing block processes corresponding data, and a period in which access (writing and reading) to each data is performed.
  • the priority control unit 710 determines the priority of the initial value of each processing block provided in the bus arbitration system 80 based on, for example, the operation mode of the imaging device 6, and sets the determined priority to the bus system chip 81. Are set in each of the bus arbitration unit 614 and the communication arbitration unit 817. Then, the priority control unit 710 outputs the priority of the initial value to the communication unit 818. As a result, the priority of the initial value is transferred (transmitted) to the priority control unit 720 via the communication unit 818 and the communication unit 827. Then, the priority control unit 720 sets the priority of the initial value transferred (transmitted) from the priority control unit 710 to each of the bus arbitration unit 623 and the communication arbitration unit 826 in the bus system chip 82.
  • the method of setting the priority of the initial value in the priority control unit 710 is the same as that of the CPU 23 included in the bus arbitration system 20 in the first embodiment, in which the operation mode of the imaging device 6 is determined and Before the block starts operation, the priority of the initial value of each processing block is determined. Then, the priority control unit 710 sets the priority of the determined initial value in each of the bus arbitration unit 614 and the communication arbitration unit 817, and outputs the same to the communication unit 818 to transfer (transmit) to the bus system chip 82. , The priority control unit 720 is set to each of the bus arbitration unit 623 and the communication arbitration unit 826.
  • each processing block starts processing for each frame.
  • the processing in each processing block is the same as the processing in each processing block in the operation of the imaging device 4 of the fourth embodiment illustrated in FIG. Therefore, in the following description, for the sake of simplicity, a detailed description of the operation of each processing block will be omitted, and the processes related to transfer information exchanged between the priority control unit 710 and the priority control unit 720 will be omitted. The respective operations will be described by focusing attention.
  • the priority control unit 720 sets the priority of the initial value transferred (transmitted) from the priority control unit 710 to each of the bus arbitration unit 623 and the communication arbitration unit 826, and then sets the image processing unit 622 and the bus arbitration unit 626. Observe the progress of the process. Then, the priority control unit 720 outputs information on the progress of the observed processing to the communication unit 827 as transfer information. As a result, the information on the progress of the processing in the processing blocks in the bus system chip 82 is transferred (transmitted) to the priority control unit 710 via the communication unit 827 and the communication arbitration unit 817.
  • the priority control unit 710 monitors the progress of the observed processing between the image processing unit 613 and the bus arbitration unit 617 and the processing between the image processing unit 622 and the bus arbitration unit 626 transferred (transmitted) from the priority control unit 720.
  • the priority of each processing block included in the bus arbitration system 80 is controlled based on the progress status.
  • the priority control unit 710 is not only a processing progress in each processing block provided in the bus system chip 81 in which the priority control unit 710 is disposed, but also a processing progress in each processing block provided in the bus system chip 82. Is reflected, the priority of each processing block provided in the bus arbitration system 80 is controlled.
  • the priority control unit 710 sets the priority to be controlled in each of the bus arbitration unit 614 and the communication arbitration unit 817 in the bus system chip 81, and outputs the priority to the communication unit 818.
  • the priority controlled by the priority control unit 710 is transferred (transmitted) to the priority control unit 720 via the communication unit 818 and the communication unit 827.
  • the priority control unit 720 sets the priority controlled and transferred (transmitted) by the priority control unit 710 to each of the bus arbitration unit 623 and the communication arbitration unit 826 in the bus system chip 82.
  • FIG. 12 shows a case where the priority control unit 710 controls the priority of each processing block provided in the bus arbitration system 80 at every predetermined priority reflection interval. For this reason, the priority control unit 710 transfers (transmits) the controlled priority to the priority control unit 720 at each priority reflection interval. For this reason, the priority control unit 720 monitors the image processing that has been observed between the time when the priority controlled by the priority control unit 710 is transferred (transmitted) and the time when the next controlled priority is transmitted (transmitted). The progress of the processing by the unit 622 and the bus arbitration unit 626 may be transferred (transmitted) to the priority control unit 710.
  • the priority control unit 710 provided in the bus system chip 81 is controlled based on the transfer information transferred (transmitted) from the priority control unit 720 provided in the bus system chip 82.
  • the priority of each processing block provided in the bus arbitration system 80 is dynamically controlled.
  • FIG. 12 illustrates the operation in the case where the priority control unit 710 provided in the bus system chip 81 dynamically controls the priority of each processing block provided in the bus arbitration system 80.
  • the priority control unit 720 may dynamically control the priority of each processing block provided in the bus arbitration system 80.
  • the operation in this case can be easily considered by reversing the respective operations of the priority control unit 710 and the priority control unit 720 in FIG. Therefore, a detailed description of the operation in which the priority control unit 720 dynamically controls the priority of each processing block provided in the bus arbitration system 80 will be omitted.
  • the priority control units provided in each of the bus system chip 81 and the bus system chip 82 included in the bus arbitration system 80 use the corresponding processing block and communication arbitration unit ( More specifically, the progress of processing in communication arbitration unit 817 and communication arbitration unit 826) is observed.
  • the priority control unit provided in one of the bus system chips (for example, the bus system chip 82) constituting the bus arbitration system 80 provides information on the progress status of the observed processing ( The transfer information is transferred (transmitted) to the other bus system chip (for example, the bus system chip 81).
  • the priority control unit provided in the other bus system chip receives (receives) the information (transfer information) on the progress of the process observed by the priority control unit provided in the one bus system chip.
  • the priority of each processing block provided in the bus arbitration system 80 is dynamically controlled based on the progress of the processing and the progress of the processing of one of the received (received) bus system chips.
  • the access requests to the memories from the respective processing blocks are matched to arbitrate the access to the memories. be able to.
  • the processing blocks include a case where each processing block exchanges data with each other via the data bus.
  • a bus band in each data bus can be secured.
  • the bus arbitration system 80 of the sixth embodiment including the bus arbitration device of the sixth embodiment the data processing time in each processing block is secured, and the bus arbitration system of the sixth embodiment is provided. The operation of the entire system of the imaging device 6 equipped with 80 can be guaranteed.
  • a first data bus (data bus 210), a plurality of processing blocks connected to the data bus 210 (an imaging processing unit 211, an image processing unit 613, a communication arbitration unit 817, a display processing unit) 219), a first bus arbitration unit (bus arbitration unit 614), and a first priority control unit (priority control unit 710) are arranged on a first semiconductor substrate (bus system chip 81), and the second data A bus (data bus 220), a plurality of processing blocks (image processing unit 622, communication arbitration unit 826) connected to data bus 220, a second bus arbitration unit (bus arbitration unit 623), and a second priority control unit
  • the (priority control unit 720) is disposed on the second semiconductor substrate (bus system chip 82), and the priority control unit 710 and the priority control unit 720 communicate with the first processing block (communication arbitration unit 817, communication A bus arbitration device (bus arbitration device) that exchanges information (transfer information) via a second processing block (may include a communication arbitration unit 826 and
  • the two bus systems are configured by two system LSIs (the bus system chip 81 and the bus system chip 82), and each bus system chip has a priority control unit ( Priority control section 710 or 720). That is, the bus arbitration device of the sixth embodiment includes a priority control unit for each data bus in the bus arbitration system 80.
  • each priority control unit performs each processing based on the information on the corresponding processing block and the current processing progress status notified from the bus arbitration unit. Observe the progress of processing in the block in real time. Then, in the bus arbitration device of the sixth embodiment, the progress of the processing in each processing block observed by each priority control unit is transferred (transmitted) to one of the bus system chips.
  • the progress of processing in each processing block observed by each priority control unit is collected in one of the bus system chips. Then, in the bus arbitration device of the sixth embodiment, the priority control unit in which the progress of processing in each processing block is aggregated dynamically controls the priority in each processing block in the bus arbitration system 80. . Further, in the bus arbitration device of the sixth embodiment, each of the bus arbitration unit 614 and the communication arbitration unit 817 and the bus arbitration unit 623 and the communication arbitration unit 826 performs the corresponding processing controlled by the corresponding priority control unit. The access request to the memory by each processing block is arbitrated based on the priority of the block.
  • the data arbitration system 80 of each of the data buses receives the data from the corresponding processing block.
  • the access to the memory can be arbitrated by matching the access request to the memory. That is, in the bus arbitration device of the sixth embodiment, each of the bus arbitration unit 614 and the communication arbitration unit 817 and the bus arbitration unit 623 and the communication arbitration unit 826 performs processing depending on the progress of the processing of the corresponding processing block. Even when the bus bandwidth required for a block varies, arbitration can be appropriately performed so that the access request to the memory from each processing block does not wait more than necessary.
  • each processing block exchanges data via the data bus in each bus system chip.
  • the bus band of each data bus can be secured.
  • each data can be processed without delay, and the bus of the sixth embodiment can be processed without delay. The operation of the imaging apparatus 6 including the arbitration system 80 as a whole system can be guaranteed.
  • the bus arbitration of the present invention in which a plurality of (two in the embodiment) data buses to which a plurality of processing blocks sharing a memory are connected is provided.
  • the priority control unit constituting the bus arbitration device of the present invention arbitrates the access request to the memory from each processing block by the bus arbitration unit constituting the bus arbitration device of the present invention corresponding to each data bus. To control the priority at the time.
  • the priority control unit constituting the bus arbitration device of the present invention observes the progress of processing of the corresponding processing block connected to each data bus, and observes the observed processing.
  • Arbitration unit which constitutes the bus arbitration device of the present invention, corresponding to each data bus, dynamically controls the priority at the time of arbitrating the access request to the memory from each processing block based on the progress of the processing. I do.
  • the priority control unit configuring the bus arbitration device of the present invention The access to the memory can be arbitrated by matching the access requests to the memory from the respective processing blocks.
  • each processing block in the bus arbitration system of the present invention including the bus arbitration device of the present invention, it is possible to include a case where each processing block exchanges data via each other's data bus.
  • a data flow in each data bus that is, a bus band of the data bus can be secured.
  • each processing block in the bus arbitration system of the present invention including the bus arbitration device of the present invention, can process each data without delay, It is possible to guarantee the data processing time of the entire system of the imaging apparatus of the present invention equipped with the bus arbitration system of the present invention.
  • the bus arbitration system of the present invention has a configuration including two data buses.
  • the number of data buses provided in the bus arbitration system of the present invention is not limited to the two shown in each embodiment of the present invention. That is, even when the number of data buses provided in the bus arbitration system further increases, the concept of the bus arbitration device of the present invention can be easily applied, and the bus arbitration device of the present invention and the bus arbitration device of the present invention A bus arbitration system provided with the above, and the same effects as those of the imaging device equipped with the bus arbitration system of the present invention can be obtained.
  • the configuration in which the bus arbitration system of the present invention including the bus arbitration device of the present invention is mounted on the imaging device has been described.
  • a plurality of data buses to which a plurality of processing blocks sharing a memory are connected are provided, and a system that arbitrates an access request to a memory from each processing block is a system of the imaging device described in each embodiment of the present invention.
  • various processing devices and systems can be considered. Therefore, the processing devices and systems to which the bus arbitration device based on the concept of the present invention and the bus arbitration system including the bus arbitration device can be applied are not limited at all.
  • any processing device or system that includes a plurality of data buses and in which each processing block connected to each data bus exchanges data via each other's data buses can be used.
  • the concept of the bus arbitration device of the present invention or the bus arbitration system including the bus arbitration device of the present invention can be similarly applied. The same effects as those of the bus arbitration device of the present invention and the bus arbitration system including the bus arbitration device of the present invention can be obtained with this processing device or system.
  • the priority of the processing blocks connected to each of the data buses is adjusted to match the memory.

Abstract

少なくとも1つのメモリとメモリを共有する複数の処理ブロックとが接続された複数のデータバスにおいて、それぞれの処理ブロックによるいずれかのメモリへのアクセスを調停するバス調停装置であって、第1のメモリが接続されたデータバスである第1のデータバスにおいて、処理ブロックから出力された第1のメモリへのアクセス要求を調停する第1のバス調停部と、第2のメモリが接続されたデータバスである第2のデータバスにおいて、処理ブロックから出力された第2のメモリへのアクセス要求を調停する第2のバス調停部と、第1のメモリへのアクセス要求と、第2のメモリへのアクセス要求とを含めて、第1のバス調停部と第2のバス調停部とのそれぞれがアクセス要求を受け付ける際の優先度を制御する優先制御部と、を備える。

Description

バス調停装置、バス調停システム、および撮像装置
 本発明は、バス調停装置、バス調停システム、および撮像装置に関する。
 静止画用カメラ、動画用カメラ、医療用内視鏡カメラ、または産業用内視鏡カメラなどの撮像装置では、搭載されたシステムLSIによって画像処理などの様々な処理をする。システムLSIには、撮像装置における様々な処理をするための複数の処理ブロックが内蔵されており、それぞれの処理ブロックは、システムLSIの内部に設けられたデータバスに接続されている。また、撮像装置に搭載される多くのシステムLSIでは、DRAM(Dynamic Random Access Memory)などの、外部に接続された1つのメモリを、内蔵している複数の処理ブロックで共有している。DRAMには、システムLSIに備えたそれぞれの処理ブロックが処理をするそれぞれの処理段階のデータが一時的に記憶される。
 システムLSIでは、データバスに接続されたそれぞれの処理ブロックが、バスマスタとして、DRAMに記憶されている処理をする対象のデータの読み出しや、処理をした後のデータのDRAMへの書き込み(記憶)をする。このとき、システムLSIでは、それぞれの処理ブロック(バスマスタ)が、例えば、データバスを経由したDMA(Direct Memory Access)転送によってDRAMにアクセスする。これにより、システムLSIでは、それぞれの処理ブロック(バスマスタ)間で、データの受け渡しをすることができる。つまり、システムLSIでは、それぞれの処理ブロック(バスマスタ)が、互いにDRAMにアクセスすることによって、処理をする対象の種々のデータを、データバスを経由してやり取りすることができる。
 このような複数の処理ブロック(バスマスタ)で1つのDRAMを共有する構成のシステムLSIでは、それぞれの処理ブロック(バスマスタ)によるDRAMへのアクセス、つまり、データバスを経由したデータのやり取りを調停するバス調停回路を備えている。このバス調停回路は、いわゆる、DMA調停回路でもある。バス調停回路は、それぞれの処理ブロック(バスマスタ)によるDRAMへのアクセス要求(いわゆる、DMA要求)を適切に調停しながら、DRAMに対する実際のアクセスを制御している。バス調停回路は、基本的に、それぞれの処理ブロック(バスマスタ)によるDRAMへのアクセスの優先順位を表す優先度に基づいて、DRAMへのアクセス要求を受け付ける(許可する)処理ブロック(バスマスタ)を決定する。これにより、システムLSIでは、それぞれの処理ブロック(バスマスタ)がDRAMとの間でデータの受け渡しをする際のデータバスにおけるデータの流れ、つまり、データバスのバス帯域を確保し、システムLSIを搭載した撮像装置のシステム全体としての機能を実現する。
 また、近年では、撮像装置の高性能化が進んでいる。このため、撮像装置に搭載するシステムLSIでは、より多くの処理をする必要があり、備える処理ブロック(バスマスタ)の数が増加している。そして、撮像装置に搭載するシステムLSIでは、それぞれの処理ブロック(バスマスタ)における処理も複雑化してきている。
 そこで、例えば、特許文献1のように、2つのシステムLSIによってシステムを構成する技術が開示されている。特許文献1に開示されたような複数のシステムLSIによって構成されるシステムでは、システム全体としての処理機能や処理時間を保証する必要がある。これは、2つのシステムLSIによる構成ではないものの、1つのシステムLSI内に複数のデータバスが設けられ、メモリを共有する複数の処理ブロックがそれぞれのデータバスに接続された構成のシステムであっても同様である。
 特許文献1に開示された技術では、一方のICチップ1に複数の優先度(高、中、低)に対応した複数のバッファを備え、要求振分回路が、他方のICチップ2から送信されてきたメモリへのアクセス要求における要求元の優先度を特定し、特定した優先度に対応するいずれかのバッファにアクセス要求をバッファリングさせる構成が提案されている。これにより、特許文献1に開示された技術では、ICチップ1に備えた処理回路およびバッファの優先度に従って、メモリへのアクセスを調停することができる。
日本国特開2013-178688号公報
 上述したように、特許文献1に開示された技術では、ICチップ2から送信されてきたメモリへのアクセス要求の優先度を、メモリに実際にアクセスをするICチップ1に備えた要求振分回路が特定して、優先度に対応するいずれかのバッファに振り分けている。しかしながら、特許文献1に開示された技術では、ICチップ1によって振り分けられた優先度は、ICチップ2にとって常に最適な優先度になっているとは限らない。つまり、特許文献1に開示された技術では、ICチップ1に備えた処理回路からのメモリへのアクセス要求の優先度と、ICチップ2からのメモリへのアクセス要求の優先度とに整合がとれているとは限らない。これは、特許文献1に開示された技術では、ICチップ2からのメモリへのアクセス要求の優先度がバッファの優先度に置き換えられ、ICチップ1に備えた処理回路の優先度とバッファの優先度とを含めて、メモリへの実際のアクセスが調停されるからである。
 例えば、ICチップ2に備えた処理回路によるメモリへのアクセス要求を優先したい状況であっても、ICチップ1に備えた処理回路の優先度の方がバッファの優先度よりも高ければ、処理回路によるメモリへのアクセス要求の方がバッファによるメモリへのアクセス要求(バッファにバッファリングされたICチップ2からの優先したいメモリへのアクセス要求)よりも優先して調停されてしまうことが考えられる。また、逆に、例えば、ICチップ1に備えた処理回路によるメモリへのアクセス要求を優先したい状況であっても、バッファの優先度の方がICチップ1に備えた処理回路の優先度よりも高ければ、バッファによるメモリへのアクセス要求(バッファにバッファリングされたICチップ2からのメモリへのアクセス要求)の方が処理回路によるメモリへのアクセス要求よりも優先して調停されてしまうことも考えられる。このような場合、特許文献1に開示された技術では、優先したいメモリへのアクセス要求が所定の時間内に終わらないことも考えられる。これは、システム全体としての処理に破綻をきたしてしまう要因となる。
 本発明は、上記の課題認識に基づいてなされたものであり、メモリを共有する複数の処理ブロックが接続されたデータバスが複数設けられた構成のシステムにおいて、それぞれのデータバスに接続された処理ブロックの優先度を整合させてメモリへのアクセスを調停することができるバス調停装置、バス調停システム、および撮像装置を提供することを目的としている。
 本発明の第1の態様によれば、バス調停装置は、少なくとも1つのメモリと前記メモリを共有する複数の処理ブロックとが接続された複数のデータバスにおいて、それぞれの前記処理ブロックによるいずれかの前記メモリへのアクセスを調停するバス調停装置であって、第1のメモリが接続された前記データバスである第1のデータバスにおいて、前記処理ブロックから出力された前記第1のメモリへのアクセス要求を調停する第1のバス調停部と、第2のメモリが接続された前記データバスである第2のデータバスにおいて、前記処理ブロックから出力された前記第2のメモリへのアクセス要求を調停する第2のバス調停部と、前記第1のメモリへの前記アクセス要求と、前記第2のメモリへの前記アクセス要求とを含めて、前記第1のバス調停部と前記第2のバス調停部とのそれぞれが前記アクセス要求を受け付ける際の優先度を制御する優先制御部と、を備える。
 本発明の第2の態様によれば、上記第1の態様のバス調停装置において、前記第1のデータバスに接続された複数の前記処理ブロックは、前記第2のメモリにアクセスする第1の処理ブロックを含み、前記第2のデータバスに接続された複数の前記処理ブロックは、前記第1のメモリにアクセスする第2の処理ブロックを含み、前記優先制御部は、前記第1の処理ブロックから出力された前記アクセス要求と、前記第2の処理ブロックから出力された前記アクセス要求とを含めて、前記第1のバス調停部と前記第2のバス調停部とのそれぞれが受け付ける前記アクセス要求の前記優先度を制御してもよい。
 本発明の第3の態様によれば、上記第2の態様のバス調停装置において、前記優先制御部は、それぞれの前記処理ブロックにおける処理の進行状況を観測し、観測した結果に基づいて、それぞれの前記処理ブロックが出力した前記アクセス要求を受け付ける前記優先度を制御してもよい。
 本発明の第4の態様によれば、上記第2の態様または上記第3の態様のバス調停装置において、前記優先制御部は、前記第1のバス調停部と前記第2のバス調停部とのそれぞれに前記優先度を設定し、前記第1のバス調停部と前記第2のバス調停部とのそれぞれは、設定された前記優先度に基づいて、対応する前記メモリに対する前記アクセス要求を受け付ける前記処理ブロックを決定してもよい。
 本発明の第5の態様によれば、上記第2の態様または上記第3の態様のバス調停装置において、前記優先制御部は、前記処理ブロックのそれぞれに前記優先度を設定し、前記第1のバス調停部と前記第2のバス調停部とのそれぞれは、前記処理ブロックから出力された前記優先度に基づいて、対応する前記メモリに対する前記アクセス要求を受け付ける前記処理ブロックを決定してもよい。
 本発明の第6の態様によれば、上記第2の態様から上記第5の態様のいずれか一態様のバス調停装置において、前記優先制御部は、前記第1の処理ブロックおよび前記第2の処理ブロックを経由して、前記第1のバス調停部と前記第2のバス調停部とのそれぞれが受け付ける前記アクセス要求の前記優先度を制御してもよい。
 本発明の第7の態様によれば、上記第2の態様から上記第6の態様のいずれか一態様のバス調停装置において、前記優先制御部は、前記第1のバス調停部が受け付ける前記アクセス要求の前記優先度を制御する第1の優先制御部と、前記第2のバス調停部が受け付ける前記アクセス要求の前記優先度を制御する第2の優先制御部と、から構成され、前記第1の優先制御部と前記第2の優先制御部とは、前記優先度を制御するための情報を互いにやり取りし、やり取りした前記情報に基づいて、対応するバス調停部が受け付ける前記アクセス要求の前記優先度を制御してもよい。
 本発明の第8の態様によれば、上記第7の態様のバス調停装置において、前記第1のデータバス、前記第1のデータバスに接続された複数の前記処理ブロック、前記第1のバス調停部、および前記第1の優先制御部は、第1の半導体基板に配置され、前記第2のデータバス、前記第2のデータバスに接続された複数の前記処理ブロック、前記第2のバス調停部、および前記第2の優先制御部は、第2の半導体基板に配置され、前記第1の優先制御部と前記第2の優先制御部とは、前記第1の処理ブロックおよび前記第2の処理ブロックを経由して、前記情報をやり取りしてもよい。
 本発明の第9の態様によれば、バス調停システムは、少なくとも1つのメモリと前記メモリを共有する複数の処理ブロックとが接続された複数のデータバスにおいて、それぞれの前記処理ブロックによるいずれかの前記メモリへのアクセスを調停するバス調停装置であって、第1のメモリが接続された前記データバスである第1のデータバスにおいて、前記処理ブロックから出力された前記第1のメモリへのアクセス要求を調停する第1のバス調停部と、第2のメモリが接続された前記データバスである第2のデータバスにおいて、前記処理ブロックから出力された前記第2のメモリへのアクセス要求を調停する第2のバス調停部と、前記第1のメモリへの前記アクセス要求と、前記第2のメモリへの前記アクセス要求とを含めて、前記第1のバス調停部と前記第2のバス調停部とのそれぞれが前記アクセス要求を受け付ける際の優先度を制御する優先制御部と、を具備したバス調停装置、を備える。
 本発明の第10の態様によれば、撮像装置は、少なくとも1つのメモリと前記メモリを共有する複数の処理ブロックとが接続された複数のデータバスにおいて、それぞれの前記処理ブロックによるいずれかの前記メモリへのアクセスを調停するバス調停装置であって、第1のメモリが接続された前記データバスである第1のデータバスにおいて、前記処理ブロックから出力された前記第1のメモリへのアクセス要求を調停する第1のバス調停部と、第2のメモリが接続された前記データバスである第2のデータバスにおいて、前記処理ブロックから出力された前記第2のメモリへのアクセス要求を調停する第2のバス調停部と、前記第1のメモリへの前記アクセス要求と、前記第2のメモリへの前記アクセス要求とを含めて、前記第1のバス調停部と前記第2のバス調停部とのそれぞれが前記アクセス要求を受け付ける際の優先度を制御する優先制御部と、を具備したバス調停装置を備えるバス調停システム、を備える。
 上記各態様によれば、メモリを共有する複数の処理ブロックが接続されたデータバスが複数設けられた構成のシステムにおいて、それぞれのデータバスに接続された処理ブロックの優先度を整合させてメモリへのアクセスを調停することができるバス調停装置、バス調停システム、および撮像装置を提供することができるという効果が得られる。
本発明の第1の実施形態におけるバス調停装置を備えたバス調停システムを搭載した撮像装置の概略構成を示したブロック図である。 本発明の第1の実施形態のバス調停装置においてメモリへのアクセス要求を調停する際の優先度の一例を示した図である。 本発明の第1の実施形態のバス調停装置を備えたバス調停システムを搭載した撮像装置における動作の一例を示した図である。 本発明の第2の実施形態におけるバス調停装置を備えたバス調停システムを搭載した撮像装置の概略構成を示したブロック図である。 本発明の第2の実施形態のバス調停装置においてメモリへのアクセス要求を調停する際の優先度の一例を示した図である。 本発明の第2の実施形態のバス調停装置を備えたバス調停システムを搭載した撮像装置における動作の一例を示した図である。 本発明の第3の実施形態におけるバス調停装置を備えたバス調停システムを搭載した撮像装置の概略構成を示したブロック図である。 本発明の第4の実施形態におけるバス調停装置を備えたバス調停システムを搭載した撮像装置の概略構成を示したブロック図である。 本発明の第4の実施形態のバス調停装置を備えたバス調停システムを搭載した撮像装置における動作の一例を示した図である。 本発明の第5の実施形態におけるバス調停装置を備えたバス調停システムを搭載した撮像装置の概略構成を示したブロック図である。 本発明の第6の実施形態におけるバス調停装置を備えたバス調停システムを搭載した撮像装置の概略構成を示したブロック図である。 本発明の第6の実施形態のバス調停装置を備えたバス調停システムを搭載した撮像装置における動作の一例を示した図である。
(第1の実施形態)
 以下、本発明の実施形態について、図面を参照して説明する。なお、以下の説明においては、本発明の第1の実施形態のバス調停装置が、例えば、静止画用カメラや動画用カメラなどの撮像装置に搭載されている本発明の第1の実施形態のバス調停システムに備えられている場合について説明する。
 図1は、本発明の第1の実施形態におけるバス調停装置を備えたバス調停システムを搭載した撮像装置の概略構成を示したブロック図である。図1に示した撮像装置1は、イメージセンサ10と、バス調停システム20と、表示デバイス30と、を備えている。
 また、バス調停システム20は、2つのバスシステム(バスシステム21およびバスシステム22)と、CPU(Central Processing Unit)23と、を備えている。
 また、バスシステム21は、撮像処理部211と、デジタルシグナルプロセッサ(Digital Signal Processor:DSP)212と、画像処理部213と、バス調停部214と、メモリ制御部215と、DRAM(Dynamic Random Access Memory)216と、バス調停部217と、バスコントローラ218と、表示処理部219と、を備えている。また、バス調停部214は、優先度設定用のレジスタ214Rを備えている。また、バス調停部217は、優先度設定用のレジスタ217Rを備えている。バスシステム21では、撮像処理部211と、デジタルシグナルプロセッサ212と、画像処理部213と、バス調停部214と、バス調停部217と、表示部219とのそれぞれが、共通のデータバス210に接続されている。
 また、バスシステム22は、デジタルシグナルプロセッサ221と、画像処理部222と、バス調停部223と、メモリ制御部224と、DRAM225と、バス調停部226と、バスコントローラ227と、を備えている。また、バス調停部223は、優先度設定用のレジスタ223Rを備えている。また、バス調停部226は、優先度設定用のレジスタ226Rを備えている。バスシステム22では、デジタルシグナルプロセッサ221と、画像処理部222と、バス調停部223と、バス調停部226とのそれぞれが、共通のデータバス220に接続されている。
 なお、図1に示した撮像装置1では、バス調停システム20内のCPU23と、バスシステム21内のバス調停部214およびバス調停部217と、バスシステム22内のバス調停部223およびバス調停部226との構成が、第1の実施形態のバス調停装置に相当する。
 撮像装置1は、イメージセンサ10によって被写体の静止画像または動画像を撮影する。そして、撮像装置1は、撮影した静止画像に応じた表示画像を表示デバイス30に表示させる。また、撮像装置1は、撮影した動画像に応じた表示画像を表示デバイス30に表示させる。なお、撮像装置1は、撮影した静止画像や動画像に応じた記録画像を、不図示の記録媒体に記録させることもできる。
 イメージセンサ10は、撮像装置1に備えた不図示のレンズによって結像された被写体の光学像を光電変換する固体撮像装置である。例えば、イメージセンサ10は、CCD(Charge Coupled Device:電荷結合素子)イメージセンサや、CMOS(Complementary Metal-Oxide Semiconductor:相補型金属酸化膜半導体)イメージセンサに代表される固体撮像装置である。イメージセンサ10は、撮像した被写体の光学像に応じた画素信号を、バス調停システム20内のバスシステム21に備えた撮像処理部211に出力する。
 表示デバイス30は、バス調停システム20内のバスシステム21に備えた表示処理部219から出力された表示画像を表示する表示装置である。例えば、表示デバイス30は、TFT(薄膜トランジスター:Thin Film Transistor)液晶ディスプレイ(LCD:Liquid Crystal Display)や有機EL(Electro Luminescence)ディスプレイなどの表示装置である。
 なお、表示デバイス30には、表示する表示画像の大きさ、つまり、画素数が異なる様々な表示装置がある。例えば、表示デバイス30には、VGA(640×480)サイズの画像を表示するTFT液晶ディスプレイや、EVF(Electronic View Finder:電子ビューファインダ)など、撮像装置1に搭載され、撮影する被写体を確認するためのビューファインダとして動作する小型の表示装置がある。また、例えば、表示デバイス30には、フルHD(1920×1080)サイズの画像を表示するHDTV(High Definition TeleVision)や、4K2K(3840×2160)サイズの画像を表示するUHDTV(Ultra High Definition TeleVision)など、撮像装置1に着脱できる構成であり、静止画像や動画像に応じた表示画像を表示して確認するための大型の表示装置もある。
 バス調停システム20は、イメージセンサ10から出力された画素信号に対して予め定めた画像処理をして、静止画像や動画像を生成する。また、バス調停システム20は、生成した静止画像や動画像に応じた表示画像を生成する。そして、バス調停システム20は、生成した表示画像を表示デバイス30に表示させる。また、バス調停システム20は、生成した静止画像や動画像に応じた記録画像を生成し、生成した記録画像を不図示の記録媒体に記録させることもできる。
 バス調停システム20では、バスシステム21に備えた撮像処理部211、デジタルシグナルプロセッサ212、画像処理部213、および表示処理部219と、バスシステム22に備えたデジタルシグナルプロセッサ221および画像処理部222のそれぞれが、バス調停システム20において画像処理をする処理機能を実現する処理ブロックである。
 バス調停システム20では、バスシステム21に備えた撮像処理部211、デジタルシグナルプロセッサ212、画像処理部213、および表示処理部219のそれぞれが、データバス210を経由してDRAM216にアクセスする。また、バス調停システム20では、バスシステム22に備えたデジタルシグナルプロセッサ221および画像処理部222のそれぞれが、データバス220を経由してDRAM225にアクセスする。このとき、バス調停システム20では、バスシステム21およびバスシステム22に備えたそれぞれの処理ブロックが、例えば、DMA(Direct Memory Access)転送によってDRAM216またはDRAM225にアクセスする。
 また、バス調停システム20では、バスシステム21とバスシステム22との間で、互いにデータをやり取りすることもできる。つまり、バス調停システム20では、バスシステム21に備えたそれぞれの処理ブロックが、バスシステム22に備えたDRAM225にアクセスしたり、バスシステム22に備えたそれぞれの処理ブロックが、バスシステム21に備えたDRAM216にアクセスしたりすることができる。このときも、バスシステム21およびバスシステム22に備えたそれぞれの処理ブロックは、互いのデータバス(データバス210およびデータバス220)を経由して、例えば、DMA転送によってDRAM216やDRAM225にアクセスする。
 また、バス調停システム20では、バスシステム21に備えた画像処理部213と、バスシステム22に備えた画像処理部222とのそれぞれが、互いに連携してバス調停システム20における画像処理をすることもできる。このとき、バスシステム21に備えた画像処理部213とバスシステム22に備えた画像処理部222とは、互いのデータバス(データバス210およびデータバス220)を経由せずに、連携するデータを直接やり取りすることができる。
 バス調停システム20では、CPU23が、バスシステム21およびバスシステム22に備えたそれぞれの処理ブロックがDRAM216やDRAM225にアクセスする際の優先度を制御する。CPU23は、撮像装置1における動作、つまり、撮像装置1の動作モードに基づいて、それぞれの処理ブロックによるDRAM216やDRAM225へのアクセスの優先度を制御する。例えば、撮像装置1の動作モードが、被写体を撮影する撮影モードである場合、被写体の撮影、および撮影する被写体を確認するための表示画像、いわゆる、ライブビュー画像(スルー画像)の表示に、リアルタイム性が求められる。ここで、バス調停システム20においてリアルタイム性が求められる画像処理をする処理ブロックによるDRAMへのアクセスが待たされてしまうと、撮像装置1のシステムとしての動作に破綻をきたしてしまう。このため、CPU23は、リアルタイム性が求められる画像処理をする処理ブロックの優先度を高くして、優先度が高い処理ブロックによるDRAMへのアクセスが待たされることがないように制御する。より具体的には、CPU23は、それぞれの処理ブロックごとに、DRAM216やDRAM225にアクセスする際のデータバスにおけるデータの流れ(データ量や速度など)、つまり、データバスのバス帯域を確保するために必要な固定の優先度を決定して制御する。
 ここで、バス調停システム20に備えたそれぞれの構成要素についてより詳細に説明する。バス調停システム20は、バスシステム21とバスシステム22との2つのバスシステムを含んで構成されている。
 なお、図1においては、バスシステム21とバスシステム22とのそれぞれが、DRAM(DRAM216またはDRAM225)も含めた構成である場合を示しているが、バス調停システム20の構成は、図1に示した構成に限定されるものではない。例えば、バス調停システム20において、バスシステム21を、DRAM216以外の構成要素を1つの半導体基板に形成した1つのシステムLSIとして構成してDRAM216を外部に接続する構成とし、バスシステム22を、DRAM225以外の構成要素を別の1つの半導体基板に形成した別の1つのシステムLSIとして構成してDRAM225を外部に接続する構成としてもよい。つまり、バス調停システム20を、2つのシステムLSIを含んだ構成としてもよい。また、例えば、バス調停システム20において、バスシステム21を構成するDRAM216以外の構成要素とバスシステム22を構成するDRAM225以外の構成要素とをまとめて1つの半導体基板に形成した1つのシステムLSIとして構成し、DRAM216とDRAM225とのそれぞれを外部に接続する構成としてもよい。
 以下の説明においては、バス調停システム20内のバスシステム21とバスシステム22とが1つのシステムLSIで構成されるものとして説明する。なお、バス調停システム20は、DRAM216とDRAM225とのそれぞれが、バスシステム21とバスシステム22とが構成された1つのシステムLSIの外部に配置され、対応するデータバスに接続される構成となる。しかし、以下の説明においては、説明を容易にするため、DRAM216がバスシステム21に含まれる構成要素であり、DRAM225がバスシステム22に含まれる構成要素であるものとして説明する。
 CPU23は、バス調停システム20に備えたそれぞれの構成要素を制御することによって、バス調停システム20の全体を制御する制御部である。また、CPU23は、上述したように、バスシステム21およびバスシステム22に備えたそれぞれの処理ブロックがDRAM216やDRAM225にアクセスする際の優先度を制御する優先制御部でもある。CPU23は、それぞれの構成要素を制御するためのプログラムやデータに応じて、バス調停システム20の全体を制御する。なお、CPU23は、撮像装置1に備えた構成要素を制御してもよい。CPU23がバス調停システム20や撮像装置1に備えたそれぞれの構成要素を制御するためのプログラムやデータは、例えば、バスシステム21を構成するDRAM216に記憶されているものであってもよい。この場合、CPU23は、DRAM216に記憶されているプログラムやデータを、データバス210を経由して読み出して実行することによって、バス調停システム20や撮像装置1の全体を制御する。
 バスシステム21は、撮像処理部211、デジタルシグナルプロセッサ212、画像処理部213、および表示処理部219によって、撮像装置1における画像処理をする処理機能を実現する。また、バスシステム22は、デジタルシグナルプロセッサ221および画像処理部222によって、撮像装置1における画像処理の処理機能を実現する。
 DRAM216およびDRAM225は、バス調停システム20において処理される様々なデータを記憶するメモリ(データ記憶部)である。より具体的には、DRAM216は、バス調停システム20内のバスシステム21において処理される様々なデータを記憶する。DRAM216は、メモリ制御部215およびバス調停部214を経由してデータバス210に接続されている。DRAM216は、バスシステム21におけるそれぞれの処理段階においてアクセスされ、それぞれの処理ブロックから出力されたデータの記憶、および記憶しているデータをそれぞれの処理ブロックに出力する。また、DRAM225は、バス調停システム20内のバスシステム22において処理される様々なデータを記憶する。DRAM225は、メモリ制御部224およびバス調停部223を経由してデータバス220に接続されている。DRAM225は、バスシステム22におけるそれぞれの処理段階においてアクセスされ、それぞれの処理ブロックから出力されたデータの記憶、および記憶しているデータをそれぞれの処理ブロックに出力する。
 撮像処理部211は、イメージセンサ10から出力された画素信号のデータに対して予め定めた種々の画像処理(撮像処理)を施す処理ブロックである。撮像処理部211がイメージセンサ10から出力された画素信号のデータに対して施す撮像処理としては、例えば、キズ補正やシェーディング補正などの、いわゆる、前処理がある。なお、本発明においては、撮像処理部211がイメージセンサ10から出力された画素信号のデータに対して施す撮像処理に関しては、特に制限はしない。
 撮像処理部211は、データバス210を経由してDRAM216にアクセスして、撮像処理を施した後の画素信号のデータ(以下、「撮像処理画像データ」という)を、DRAM216に記憶させる(書き込む)。このとき、撮像処理部211は、DRAM216への撮像処理画像データの記憶(書き込み)を要求するためのアクセス要求をバス調停部214に出力する。そして、撮像処理部211は、出力したアクセス要求がバス調停部214に受け付けられた(許可された)後に、撮像処理画像データをデータバス210に出力する。これにより、DRAM216には、撮像処理部211がデータバス210に出力した撮像処理画像データが、バス調停部214およびメモリ制御部215を経由して出力されて記憶される(書き込まれる)。
 なお、撮像処理部211は、イメージセンサ10から出力された画素信号のデータを一時的に保存してから前処理を施す構成であってもよい。また、撮像処理部211は、前処理を施した撮像処理画像データを一時的に保存した後に、DRAM216にアクセスして記憶させる(書き込む)構成であってもよい。
 なお、バス調停システム20では、それぞれの処理ブロックがDMA転送によって対応するDRAMにアクセスするバスシステムである場合、撮像処理部211は、DMA転送によって撮像処理画像データをDRAM216に記憶させる(書き込む)DMA転送部(バスマスタ)となる。そして、例えば、撮像装置1の動作モードが撮影モードである場合、撮像処理部211は、優先度が高い高優先のバスマスタとなる。
 デジタルシグナルプロセッサ212およびデジタルシグナルプロセッサ221は、対応するDRAMに記憶されたデータに基づいて予め定めた信号処理を施す処理ブロックである。より具体的には、デジタルシグナルプロセッサ212は、DRAM216に記憶された撮像処理画像データに基づいて予め定めた信号処理を施す。また、デジタルシグナルプロセッサ221は、DRAM225に記憶された撮像処理画像データに基づいて予め定めた信号処理を施す。デジタルシグナルプロセッサ212およびデジタルシグナルプロセッサ221における撮像処理画像データに基づいた信号処理としては、例えば、撮影した被写体を検出する検出処理などがある。なお、本発明においては、デジタルシグナルプロセッサ212およびデジタルシグナルプロセッサ221における撮像処理画像データに基づいた信号処理に関しては、特に制限はしない。
 デジタルシグナルプロセッサ212およびデジタルシグナルプロセッサ221は、信号処理をする対象の撮像処理画像データを取得する(読み出す)際と、信号処理をして生成したデータ(以下、「信号処理データ」という)を記憶させる(書き込む)際とのそれぞれにおいて対応するDRAM216にアクセスする。
 より具体的には、デジタルシグナルプロセッサ212は、DRAM216へのアクセスを要求するためのアクセス要求をバス調停部214に出力する。そして、デジタルシグナルプロセッサ212は、出力したアクセス要求がバス調停部214に受け付けられた(許可された)後に、DRAM216からの撮像処理画像データの取得(読み出し)、またはDRAM216への信号処理データの記憶(書き込み)のアクセスをする。これにより、デジタルシグナルプロセッサ212とDRAM216との間で、それぞれのデータが、データバス210、バス調停部214、およびメモリ制御部215を経由してやり取りされる。そして、DRAM216には、デジタルシグナルプロセッサ212が出力した信号処理データが記憶される(書き込まれる)。
 また、デジタルシグナルプロセッサ221は、DRAM225へのアクセスを要求するためのアクセス要求をバス調停部223に出力する。そして、デジタルシグナルプロセッサ221は、出力したアクセス要求がバス調停部223に受け付けられた(許可された)後に、DRAM225からの撮像処理画像データの取得(読み出し)、またはDRAM225への信号処理データの記憶(書き込み)のアクセスをする。これにより、デジタルシグナルプロセッサ221とDRAM225との間で、それぞれのデータが、データバス220、バス調停部223、およびメモリ制御部224を経由してやり取りされる。そして、DRAM225には、デジタルシグナルプロセッサ221が出力した信号処理データが記憶される(書き込まれる)。
 バス調停システム20では、撮像処理画像データに基づいた一連の信号処理を、デジタルシグナルプロセッサ212とデジタルシグナルプロセッサ221とで分担することもできる。例えば、デジタルシグナルプロセッサ212が、撮像処理画像データに基づいて一連の信号処理の途中まで信号処理をして、デジタルシグナルプロセッサ221が、続きの信号処理をすることもできる。また、例えば、デジタルシグナルプロセッサ212が、奇数番目のフレームや、1つのフレームの全体の領域を複数のブロックに分割した奇数番目のブロックの撮像処理画像データに基づいて一連の信号処理をして、デジタルシグナルプロセッサ221が、偶数番目のフレームや偶数番目のブロックの撮像処理画像データに基づいて一連の信号処理をすることもできる。この場合、デジタルシグナルプロセッサ212とデジタルシグナルプロセッサ221とのそれぞれは、対応するDRAMとの間でデータをやり取りする。
 例えば、デジタルシグナルプロセッサ212が途中まで信号処理をして、デジタルシグナルプロセッサ221が続きの信号処理をする場合を考える。この場合、デジタルシグナルプロセッサ212は、途中まで信号処理した信号処理データをデータバス210に出力し、バス調停部217、バスコントローラ218、バスコントローラ227、バス調停部226、データバス220、バス調停部223、およびメモリ制御部224を経由してDRAM225に記憶さる(書き込む)。また、デジタルシグナルプロセッサ221は、DRAM225に記憶されている途中まで信号処理した信号処理データを、メモリ制御部224、バス調停部223、およびデータバス220を経由して取得し(読み出し)、続きの信号処理をする。そして、デジタルシグナルプロセッサ221は、一連の信号処理の最後まで信号処理をした信号処理データをデータバス220に出力し、バス調停部226、バスコントローラ227、バスコントローラ218、バス調停部217、データバス210、バス調停部214、およびメモリ制御部215を経由してDRAM216に記憶させる(書き込む)。これにより、デジタルシグナルプロセッサ212とデジタルシグナルプロセッサ221とのそれぞれが分担して一連の信号処理をした信号処理データが、DRAM216に記憶される(書き込まれる)。
 また、例えば、デジタルシグナルプロセッサ212とデジタルシグナルプロセッサ221とのそれぞれが対応するフレームや分割したブロックに対して信号処理をする場合を考える。この場合、デジタルシグナルプロセッサ212とデジタルシグナルプロセッサ221とのそれぞれは、対応するフレームや分割したブロックの撮像処理画像データをDRAM216から取得して(読み出して)信号処理し、信号処理した信号処理データをDRAM216に記憶させる(書き込む)。このとき、デジタルシグナルプロセッサ212は、DRAM216に記憶されている対応するフレームや分割したブロックの撮像処理画像データを、メモリ制御部215、バス調停部214、およびデータバス210を経由して取得し(読み出し)、信号処理をする。そして、デジタルシグナルプロセッサ212は、信号処理した信号処理データをデータバス210に出力し、バス調停部214およびメモリ制御部215を経由してDRAM216に記憶させる(書き込む)。また、デジタルシグナルプロセッサ221は、DRAM216に記憶されている対応するフレームや分割したブロックの撮像処理画像データを、メモリ制御部215、バス調停部214、データバス210、バス調停部217、バスコントローラ218、バスコントローラ227、バス調停部226、データバス220を経由して取得し(読み出し)、信号処理をする。そして、デジタルシグナルプロセッサ221は、信号処理した信号処理データをデータバス220に出力し、バス調停部226、バスコントローラ227、バスコントローラ218、バス調停部217、データバス210、バス調停部214、およびメモリ制御部215を経由してDRAM216に記憶させる(書き込む)。これにより、デジタルシグナルプロセッサ212とデジタルシグナルプロセッサ221とのそれぞれが分担してフレームや分割したブロックに対して信号処理をした信号処理データが、DRAM216に記憶される(書き込まれる)。
 なお、デジタルシグナルプロセッサ212とデジタルシグナルプロセッサ221とのそれぞれは、対応するDRAMから取得した(読み出した)撮像処理画像データを一時的に保存してから信号処理をする構成であってもよい。また、デジタルシグナルプロセッサ212とデジタルシグナルプロセッサ221とのそれぞれは、信号処理をした信号処理データを一時的に保存した後に、対応するDRAMにアクセスして記憶させる(書き込む)構成であってもよい。
 なお、バス調停システム20では、それぞれの処理ブロックがDMA転送によって対応するDRAMにアクセスするバスシステムである場合、デジタルシグナルプロセッサ212とデジタルシグナルプロセッサ221とのそれぞれは、DMA転送によって対応するDRAMから撮像処理画像データを取得し(読み出し)、DMA転送によって信号処理データを対応するDRAMに記憶させる(書き込む)DMA転送部(バスマスタ)となる。そして、例えば、撮像装置1の動作モードが撮影モードである場合、デジタルシグナルプロセッサ212とデジタルシグナルプロセッサ221とのそれぞれは、優先度が低い低優先のバスマスタとなる。
 画像処理部213および画像処理部222は、対応するDRAMに記憶された撮像処理画像データに対して予め定めた画像処理を施す処理ブロックである。より具体的には、画像処理部213は、DRAM216に記憶された撮像処理画像データに対して予め定めた画像処理を施す。また、画像処理部222は、DRAM225に記憶された撮像処理画像データに対して予め定めた画像処理を施す。画像処理部213および画像処理部222が、撮像処理画像データに対して施す画像処理としては、例えば、ノイズ除去処理、YC(輝度色差)変換処理、歪補正処理、動き検出処理、リサイズ処理、JPEG圧縮処理などの静止画像圧縮処理、MPEG圧縮処理やH.264圧縮処理などの動画像圧縮処理など、表示用や記録用の種々の画像処理がある。なお、本発明においては、画像処理部213および画像処理部222が撮像処理画像データに対して施す画像処理に関しては、特に制限はしない。なお、画像処理部213および画像処理部222は、不図示の記録媒体に記録された記録画像のデータに対して、例えば、JPEG伸張処理などの静止画像伸張処理、MPEG伸張処理やH.264伸張処理などの動画像伸張処理などの画像処理をしてもよい。
 画像処理部213および画像処理部222は、画像処理を施す対象の撮像処理画像データを取得する(読み出す)際と、画像処理して生成した後の画像のデータ(以下、「画像処理画像データ」という)を記憶させる(書き込む)際とのそれぞれにおいて対応するDRAMにアクセスする。
 より具体的には、画像処理部213は、DRAM216へのアクセスを要求するためのアクセス要求をバス調停部214に出力する。そして、画像処理部213は、出力したアクセス要求がバス調停部214に受け付けられた(許可された)後に、DRAM216からの撮像処理画像データの取得(読み出し)、またはDRAM216への画像処理画像データの記憶(書き込み)のアクセスをする。これにより、画像処理部213とDRAM216との間で、それぞれのデータが、データバス210、バス調停部214、およびメモリ制御部215を経由してやり取りされる。そして、DRAM216には、画像処理部213が出力した画像処理画像データが記憶される(書き込まれる)。
 また、画像処理部222は、DRAM225へのアクセスを要求するためのアクセス要求をバス調停部223に出力する。そして、画像処理部222は、出力したアクセス要求がバス調停部223に受け付けられた(許可された)後に、DRAM225からの撮像処理画像データの取得(読み出し)、またはDRAM225への画像処理画像データの記憶(書き込み)のアクセスをする。これにより、画像処理部222とDRAM225との間で、それぞれのデータが、データバス220、バス調停部223、およびメモリ制御部224を経由してやり取りされる。そして、DRAM225には、画像処理部222が出力した画像処理画像データが記憶される(書き込まれる)。
 バス調停システム20では、画像処理部213と画像処理部222とで連携または分担して、撮像処理画像データに対して一連の画像処理や拡張した画像処理を施すこともできる。このとき、画像処理部213と画像処理部222とは、撮像処理画像データに対して一連または拡張した画像処理を施す途中の画像処理画像データを、互いに対応するデータバス(データバス210およびデータバス220)を経由せずに、連携するデータを直接やり取りすることができる。例えば、画像処理部222が、画像処理部213が撮像処理画像データに対して施す一部の画像処理を施すこともできる。また、例えば、画像処理部222が、撮像処理画像データに対して施す画像処理に追加(拡張)した画像処理をさらに施すこともできる。この場合、画像処理部213は、途中まで画像処理を施した画像処理画像データを画像処理部222に直接出力し、画像処理部222が、続きまたは追加(拡張)した画像処理を施した画像処理画像データを再び画像処理部213に直接戻して、画像処理部213がさらに続きの画像処理を施す。
 より具体的には、画像処理部213は、途中まで画像処理した画像処理画像データをデータバス210に出力せずに、バス調停部217、バスコントローラ218、バスコントローラ227、およびバス調停部226を経由して画像処理部222に直接出力する。そして、画像処理部222は、画像処理部213から直接出力された画像処理画像データに対して続きまたは追加(拡張)した画像処理を施し、バス調停部226、バスコントローラ227、バスコントローラ218、およびバス調停部217を経由して画像処理部213に直接出力する。その後、画像処理部213が、画像処理部222から直接出力された画像処理画像データに対してさらに続きの画像処理をしてデータバス210に出力し、バス調停部214およびメモリ制御部215を経由してDRAM216に記憶さる(書き込む)。これにより、画像処理部213と画像処理部222とのそれぞれが分担して一連の画像処理や拡張した画像処理を施した画像処理画像データが、DRAM216に記憶される(書き込まれる)。
 なお、画像処理部213と画像処理部222とは、デジタルシグナルプロセッサ212とデジタルシグナルプロセッサ221と同様に、画像処理を施した画像処理画像データを、対応するDRAMに記憶させる(書き込む)ことによって、画像処理部213と画像処理部222とで連携または分担して一連の画像処理を施すこともできる。なお、画像処理部213と画像処理部222とのそれぞれが対応するDRAMに画像処理画像データを記憶させて(書き込んで)、一連の画像処理を連携または分担して施す場合の動作は、デジタルシグナルプロセッサ212とデジタルシグナルプロセッサ221とが分担して撮像処理画像データに基づいた一連の信号処理をする場合の動作と同様に考えることができる。つまり、画像処理部213と画像処理部222とのそれぞれが、対応するDRAMにアクセスすることによって、撮像処理画像データに対して一連の画像処理を連携または分担して施す。これにより、画像処理部213と画像処理部222とのそれぞれが連携または分担して一連の画像処理をした画像処理画像データが、DRAM216に記憶される(書き込まれる)。
 なお、画像処理部213と画像処理部222とのそれぞれは、対応するDRAMから取得した(読み出した)撮像処理画像データを一時的に保存してから画像処理を施す構成であってもよい。また、画像処理部213と画像処理部222とのそれぞれは、画像処理を施した画像処理画像データを一時的に保存した後に、対応するDRAMにアクセスして記憶させる(書き込む)構成であってもよい。
 なお、バス調停システム20では、それぞれの処理ブロックがDMA転送によって対応するDRAMにアクセスするバスシステムである場合、画像処理部213と画像処理部222とのそれぞれは、DMA転送によって対応するDRAMから撮像処理画像データを取得し(読み出し)、DMA転送によって画像処理画像データを対応するDRAMに記憶させる(書き込む)DMA転送部(バスマスタ)となる。そして、例えば、撮像装置1の動作モードが撮影モードである場合、画像処理部213と画像処理部222とのそれぞれは、優先度が低い低優先のバスマスタとなる。
 表示処理部219は、画像処理画像データに応じた表示画像を表示デバイス30に表示させる処理ブロックである。表示処理部219は、DRAM216に記憶された画像処理画像データに対して予め定めた表示処理を施して表示画像を生成し、生成した表示画像を表示デバイス30に表示させる。表示処理部219が画像処理画像データに対して施す表示処理としては、例えば、表示デバイス30が表示する画像のサイズに表示画像のサイズを変換する処理や、撮影日時などの静止画像や動画像に関する様々な情報を表示させるためのオンスクリーンディスプレイ(On Screen Display:OSD)画像を重畳する処理などがある。なお、本発明においては、表示処理部219が画像処理画像データに対して施す表示処理に関しては、特に制限はしない。
 表示処理部219は、画像処理画像データに応じた表示画像を表示デバイス30に表示させる際に、データバス210を経由してDRAM216にアクセスして、画像処理画像データを取得する(読み出す)。このとき、表示処理部219は、DRAM216からの画像処理画像データの取得(読み出し)を要求するためのアクセス要求をバス調停部214に出力する。そして、表示処理部219は、出力したアクセス要求がバス調停部214に受け付けられた(許可された)後に、DRAM216にアクセスする。これにより、表示処理部219は、DRAM216に記憶された画像処理画像データを、メモリ制御部215、バス調停部214、およびデータバス210を経由して取得する(読み出す)。そして、表示処理部219は、取得した(読み出した)画像処理画像データに対して表示処理を施して表示画像を生成し、表示デバイス30に出力して表示させる。
 なお、表示処理部219は、DRAM216から取得した(読み出した)画像処理画像データを一時的に保存してから表示処理を施す構成であってもよい。また、表示処理部219は、表示処理を施した表示画像のデータを一時的に保存した後に、保存した表示画像のデータを表示デバイス30に出力して表示させる構成であってもよい。
 なお、バス調停システム20では、それぞれの処理ブロックがDMA転送によって対応するDRAMにアクセスするバスシステムである場合、表示処理部219は、表示デバイス30に表示させるための画像処理画像データを、DMA転送によってDRAM216から取得する(読み出す)DMA転送部(バスマスタ)となる。そして、例えば、撮像装置1の動作モードが撮影モードである場合、表示処理部219は、優先度が高い高優先のバスマスタとなる。
 バス調停部214およびバス調停部223は、対応するデータバスに接続されているそれぞれの処理ブロックからのDRAMへのアクセス要求を調停し、いずれかの処理ブロックからのDRAMへのアクセス要求を受け付ける調停回路(バスアービタ)である。なお、バス調停システム20では、バス調停部217やバス調停部226も、対応するDRAMへのアクセス要求を調停する対象の処理ブロックとする。従って、バス調停部214は、データバス210に接続されている撮像処理部211、デジタルシグナルプロセッサ212、画像処理部213、表示処理部219、およびバス調停部217からのDRAM216へのアクセス要求を調停して受け付ける。また、バス調停部223は、データバス220に接続されているデジタルシグナルプロセッサ221、画像処理部222、およびバス調停部226からのDRAM225へのアクセス要求を調停して受け付ける。
 なお、バス調停システム20では、それぞれの処理ブロックがDMA転送によって対応するDRAMにアクセスするバスシステムである場合、バス調停部214およびバス調停部223は、対応するデータバスに接続されているそれぞれの処理ブロックからのDRAM216へのDMA要求を調停して受け付けるDMA調停回路である。
 バス調停部214およびバス調停部223は、対応するそれぞれの処理ブロックの優先度に基づいて、アクセス要求を出力してきたそれぞれの処理ブロックの中から、対応するDRAMへのアクセス要求を受け付ける(許可する)処理ブロックを決定する。上述したように、バス調停システム20では、バス調停部214およびバス調停部223がアクセス要求を受け付ける(許可する)処理ブロックを決定するための優先度を、CPU23が制御する。このため、バス調停部214が対応する処理ブロックの優先度は、CPU23によってバス調停部214に備えた優先度設定用のレジスタ214Rに設定される。また、バス調停部223が対応する処理ブロックの優先度は、CPU23によってバス調停部223に備えた優先度設定用のレジスタ223Rに設定される。図1には、バス調停部214が対応する処理ブロックの優先度と、バス調停部223が対応する処理ブロックの優先度とのそれぞれを、バス調停部214に備えたレジスタ214Rとバス調停部223に備えたレジスタ223Rとのそれぞれに設定する経路(優先度設定経路)を示している。バス調停部214は、レジスタ214Rに設定された優先度に基づいて、アクセス要求を出力してきた処理ブロックの中から、DRAM216へのアクセス要求を受け付ける(許可する)処理ブロックを決定する。また、バス調停部223は、レジスタ223Rに設定された優先度に基づいて、アクセス要求を出力してきた処理ブロックの中から、DRAM225へのアクセス要求を受け付ける(許可する)処理ブロックを決定する。
 これにより、アクセス要求が受け付けられた(許可された)処理ブロックは、対応するDRAMへのアクセス(データの読み出しや書き込み)をする。
 バス調停部214およびバス調停部223は、対応するデータバスを経由して、アクセス要求を受け付けた(許可した)処理ブロックとの間でデータの受け渡しをする。このとき、バス調停部214およびバス調停部223は、アクセス要求を受け付けた処理ブロックからの対応するDRAMへのアクセスが、データを記憶させる(書き込む)アクセスである場合には、アクセス要求を受け付けた処理ブロックから対応するデータバスに出力されたデータを、対応するメモリ制御部に出力(転送)する。一方、バス調停部214およびバス調停部223は、アクセス要求を受け付けた処理ブロックからの対応するDRAMへのアクセスが、データを取得する(読み出す)アクセスである場合には、対応するメモリ制御部から出力されたデータを、対応するデータバスを経由してアクセス要求を受け付けた処理ブロックに出力(転送)する。より具体的には、バス調停部214は、アクセス要求を受け付けた処理ブロック(データバス210に接続されている撮像処理部211、デジタルシグナルプロセッサ212、画像処理部213、表示処理部219、およびバス調停部217の内、いずれか1つの処理ブロック)とメモリ制御部215との間で、データバス210を経由した上述したデータの受け渡しをする。また、バス調停部223は、アクセス要求を受け付けた処理ブロック(データバス220に接続されているデジタルシグナルプロセッサ221、画像処理部222、およびバス調停部226の内、いずれか1つの処理ブロック)とメモリ制御部224との間で、データバス220を経由した上述したデータの受け渡しをする。
 なお、バス調停部214およびバス調停部223におけるアクセス要求の調停の動作や、データの受け渡しの動作は、既存のバスアービタ(いわゆる、DMA調停回路)の動作と同様である。つまり、バス調停部214およびバス調停部223がCPU23によって対応するレジスタに設定された優先度に基づいて対応するDRAMへのアクセス要求を調停してデータの受け渡しをする動作は、既存のバスアービタ(いわゆる、DMA調停回路)の技術に基づいて容易に考えることができる。従って、バス調停部214およびバス調停部223におけるアクセス要求の調停の動作やデータの受け渡しの動作に関する詳細な説明は、省略する。
 メモリ制御部215およびメモリ制御部224は、対応するバス調停部から出力(転送)された対応するDRAMへのアクセスに基づいて、対応するDRAMとの間で実際にデータの受け渡しをするDRAMコントローラである。つまり、メモリ制御部215およびメモリ制御部224のそれぞれは、対応するバス調停部から出力(転送)されてきたDRAMへのアクセスに基づいて、対応するDRAMを制御する。このとき、メモリ制御部215およびメモリ制御部224は、対応するDRAMへのアクセスがデータを記憶させる(書き込む)アクセスである場合には、対応するバス調停部から出力(転送)されたデータを対応するDRAMに出力して、記憶させる(書き込む)。一方、メモリ制御部215およびメモリ制御部224は、対応するDRAMへのアクセスがデータを取得する(読み出す)アクセスである場合には、対応するDRAMに記憶されているデータを読み出して、対応するバス調停部に出力する。より具体的には、メモリ制御部215は、バス調停部214から出力(転送)されたDRAM216へのアクセスに基づいて、DRAM216に対してデータの記憶(書き込み)やデータの読み出しの制御をする。また、メモリ制御部224は、バス調停部223から出力(転送)されたDRAM225へのアクセスに基づいて、DRAM225に対してデータの記憶(書き込み)やデータの読み出しの制御をする。
 バス調停部217およびバス調停部226は、対応する画像処理部からの他方のバスシステムの画像処理部への直接のアクセス要求、および対応するデータバスに接続されているそれぞれの処理ブロックからの他方のバスシステムのDRAMへのアクセス要求を調停し、いずれか一方のアクセス要求を受け付ける調停回路である。バス調停部217およびバス調停部226は、受け付けたアクセス要求とこのアクセス要求に対応するデータとを、対応するバスコントローラに出力(転送)する。より具体的には、バス調停部217は、画像処理部213からのバスシステム22に備えた画像処理部222への直接のアクセス要求と、データバス210に接続されている撮像処理部211、デジタルシグナルプロセッサ212、画像処理部213、および表示処理部219からのバスシステム22に備えたDRAM225へのアクセス要求とを調停し、受け付けたアクセス要求とこのアクセス要求に対応するデータとを、バスコントローラ218に出力(転送)する。また、バス調停部226は、画像処理部222からのバスシステム21に備えた画像処理部213への直接のアクセス要求と、データバス220に接続されているデジタルシグナルプロセッサ221および画像処理部222からのバスシステム21に備えたDRAM216へのアクセス要求とを調停し、受け付けたアクセス要求とこのアクセス要求に対応するデータとを、バスコントローラ227に出力(転送)する。
 バス調停部217およびバス調停部226は、調停するアクセス要求の優先度に基づいて、それぞれのアクセス要求の中から、受け付ける(許可する)他方のバスシステムへのアクセス要求を決定する。上述したように、バス調停システム20では、バス調停部214およびバス調停部223がアクセス要求を受け付ける(許可する)処理ブロックを決定するための優先度は、CPU23によって制御される。バス調停部217およびバス調停部226においても、同様に、受け付ける(許可する)他方のバスシステムへのアクセス要求を決定するための優先度は、CPU23によって制御される。このため、バス調停部217が対応するアクセス要求の優先度は、CPU23によってバス調停部217に備えた優先度設定用のレジスタ217Rに設定される。また、バス調停部226が対応するアクセス要求の優先度は、CPU23によってバス調停部226に備えた優先度設定用のレジスタ226Rに設定される。図1には、バス調停部217が対応するアクセス要求の優先度と、バス調停部226が対応するアクセス要求の優先度とのそれぞれを、バス調停部217に備えたレジスタ217Rとバス調停部226に備えたレジスタ226Rとのそれぞれに設定する経路(優先度設定経路)を示している。バス調停部217は、レジスタ217Rに設定された優先度に基づいて、それぞれのアクセス要求の中から、受け付ける(許可する)バスシステム22へのアクセス要求を決定する。これにより、受け付けられた(許可された)バスシステム22へのアクセス要求とこのアクセス要求に対応するデータとが、バスコントローラ218を経由してバスシステム22に出力(転送)される。また、バス調停部226は、レジスタ226Rに設定された優先度に基づいて、それぞれのアクセス要求の中から、受け付ける(許可する)他方のバスシステムへのアクセス要求を決定する。これにより、受け付けられた(許可された)バスシステム21へのアクセス要求とこのアクセス要求に対応するデータとが、バスコントローラ227を経由してバスシステム21に出力(転送)される。
 なお、バス調停部217およびバス調停部226におけるアクセス要求の調停の動作や、データの受け渡しの動作は、バス調停部214およびバス調停部223の動作と同様に考えることができる。つまり、バス調停部217およびバス調停部226がCPU23によって対応するレジスタに設定された優先度に基づいて対応するアクセス要求を調停してデータの受け渡しをする動作は、既存のバスアービタ(いわゆる、DMA調停回路)の技術に基づいて容易に考えることができる。従って、バス調停部217およびバス調停部226におけるアクセス要求の調停の動作やデータの受け渡しの動作に関する詳細な説明は、省略する。
 また、バス調停部217およびバス調停部226は、他方のバスシステムの画像処理部からの対応する画像処理部への直接のアクセス要求、および他方のバスシステムに備えたそれぞれの処理ブロックからの対応するデータバスを経由したDRAMへのアクセス要求を受け付ける受け付け回路である。バス調停部217およびバス調停部226は、受け付けたアクセス要求とこのアクセス要求に対応するデータとを、対応する画像処理部、または対応するバス調停部に出力(転送)する。
 より具体的には、バス調停部217は、バスシステム22に備えた画像処理部222からの画像処理部213への直接のアクセス要求を受け付けた場合、受け付けたアクセス要求とこのアクセス要求に対応するデータとを、画像処理部213に出力(転送)する。これにより、画像処理部213と画像処理部222との間で、連携するデータが直接やり取りされる。一方、バス調停部217は、バスシステム22に備えたそれぞれの処理ブロックからのデータバス210を経由したDRAM216へのアクセス要求を受け付けた場合、受け付けたアクセス要求とこのアクセス要求に対応するデータとを、バス調停部214に出力(転送)する。つまり、バス調停部217は、バスシステム22に備えたそれぞれの処理ブロックからのデータバス210を経由したDRAM216へのアクセス要求を受け付けた場合、バスシステム22に備えたそれぞれの処理ブロックに代わって、DRAM216へのアクセス要求をする。このため、バス調停部217は、バス調停部214から、DRAM216へのアクセス要求を調停する対象の処理ブロックとして扱われ、出力(転送)したアクセス要求が調停される。言い換えれば、バス調停部214は、バスシステム22に備えたそれぞれの処理ブロックからのDRAM216へのアクセス要求を含めて調停し、いずれかのアクセス要求を受け付ける(許可する)。
 また、バス調停部226は、バスシステム21に備えた画像処理部213からの画像処理部222への直接のアクセス要求を受け付けた場合、受け付けたアクセス要求とこのアクセス要求に対応するデータとを、画像処理部222に出力(転送)する。これにより、画像処理部222と画像処理部213との間で、連携するデータが直接やり取りされる。一方、バス調停部226は、バスシステム21に備えたそれぞれの処理ブロックからのデータバス220を経由したDRAM225へのアクセス要求を受け付けた場合、受け付けたアクセス要求とこのアクセス要求に対応するデータとを、バス調停部223に出力(転送)する。つまり、バス調停部226は、バスシステム21に備えたそれぞれの処理ブロックからのデータバス220を経由したDRAM225へのアクセス要求を受け付けた場合、バスシステム21に備えたそれぞれの処理ブロックに代わって、DRAM225へのアクセス要求をする。このため、バス調停部226は、バス調停部223から、DRAM225へのアクセス要求を調停する対象の処理ブロックとして扱われ、出力(転送)したアクセス要求が調停される。言い換えれば、バス調停部223は、バスシステム21に備えたそれぞれの処理ブロックからのDRAM225へのアクセス要求を含めて調停し、いずれかのアクセス要求を受け付ける(許可する)。
 バスコントローラ218およびバスコントローラ227は、対応するバス調停部から出力(転送)されたアクセス要求とこのアクセス要求に対応するデータとを、バスシステム21とバスシステム22との間で互いにやり取りするためのインターフェース部である。バスコントローラ218およびバスコントローラ227は、対応するバス調停部から出力(転送)されたアクセス要求とこのアクセス要求に対応するデータとを、同じ形式で互いにやり取り(送受信)する。
 なお、バス調停システム20において、バスシステム21とバスシステム22とのそれぞれに含まれるDRAM以外の構成要素をそれぞれのシステムLSIとして構成した場合、つまり、バスシステム21とバスシステム22とを異なる2つのシステムLSIとして構成した場合、バスコントローラ218とバスコントローラ227とのそれぞれは、それぞれのシステムLSIの間でアクセス要求とデータとを通信する通信部であってもよい。また、バス調停システム20において、バスシステム21とバスシステム22とのそれぞれに含まれるDRAM以外の構成要素をまとめて1つのシステムLSIとして構成した場合、バスコントローラ218とバスコントローラ227とのそれぞれは、同じシステムLSI内でアクセス要求とデータとをやり取りするインターフェース部であってもよい。
 なお、バスコントローラ218とバスコントローラ227とが互いにやり取りするアクセス要求とデータとの形式としては、様々な形式が考えられる。つまり、バスコントローラ218とバスコントローラ227とは、パラレルの形式でアクセス要求とデータとをやり取りしてもよいし、シリアルの形式でアクセス要求とデータとをやり取りしてもよい。例えば、バスコントローラ218とバスコントローラ227とは、PCI-Express(Peripheral Component Interconnect-Express)などの予め定めた高速シリアルバス仕様の伝送方式に従った形式でアクセス要求とデータとをやり取りしてもよい。また、バスコントローラ218とバスコントローラ227とは、MIPI(登録商標)(Mobile Industry Processor Interface)仕様や、AXI(Advanced eXtensible Interface)仕様など、予め定めた種々の仕様に従った形式でアクセス要求とデータとをやり取りしてもよい。なお、本発明においては、バスコントローラ218とバスコントローラ227との間のデータ伝送の方式や、バスコントローラ218とバスコントローラ227とが互いにやり取りするアクセス要求とデータとの形式に関しては、特に制限はしない。
 このような構成によって、撮像装置1は、イメージセンサ10によって被写体の静止画像や動画像を撮影し、撮影した静止画像や動画像に応じた表示画像を表示デバイス30に表示させる。また、撮像装置1は、イメージセンサ10によって撮影した静止画像や動画像に応じた記録画像を、不図示の記録媒体に記録させることもできる。
 また、撮像装置1では、バス調停システム20内のCPU23と、バスシステム21内のバス調停部214およびバス調停部217と、バスシステム22内のバス調停部223およびバス調停部226とで、第1の実施形態のバス調停装置を構成する。つまり、2つのデータバス(データバス210およびデータバス220)が設けられた構成の第1の実施形態のバス調停システム20のシステムにおいて、それぞれのデータバスに接続された処理ブロックの優先度を整合させてメモリへのアクセスを調停する第1の実施形態のバス調停装置が構成される。
 そして、第1の実施形態のバス調停装置では、CPU23が、撮像装置1の動作モードに基づいて、バス調停部214およびバス調停部217と、バス調停部223およびバス調停部226とのそれぞれに備えた優先度設定用のレジスタに、対応するデータバスに接続されたそれぞれの処理ブロックからのメモリへのアクセス要求を受け付ける(許可する)際の優先度を設定する。これにより、第1の実施形態のバス調停装置では、バス調停部214およびバス調停部217と、バス調停部223およびバス調停部226とのそれぞれが、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を、優先度設定用のレジスタに設定された優先度に基づいて受け付ける(許可する)。これにより、第1の実施形態のバス調停装置を備えた第1の実施形態のバス調停システム20では、それぞれのデータバスごとに、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。このことにより、第1の実施形態のバス調停装置を備えた第1の実施形態のバス調停システム20では、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるデータの流れ、つまり、データバスのバス帯域を確保することができる。
 このことにより、第1の実施形態のバス調停装置を備えた第1の実施形態のバス調停システム20では、それぞれのデータに対して滞りなく処理をすることができ、第1の実施形態のバス調停システム20を搭載した撮像装置1のシステム全体としてのデータの処理時間を保証することができる。
 ここで、バス調停システム20において、バスシステム21およびバスシステム22に備えたそれぞれの処理ブロックによるDRAM216やDRAM225へのアクセス要求の制御の一例について説明する。つまり、CPU23が、バスシステム21およびバスシステム22に備えたそれぞれの処理ブロックの優先度を制御する一例について説明する。上述したように、CPU23は、撮像装置1の動作モードに基づいて、バスシステム21内のバス調停部214およびバス調停部217と、バスシステム22内のバス調停部223およびバス調停部226とのそれぞれに備えた優先度設定用のレジスタに優先度を設定することによって、それぞれの処理ブロックがメモリにアクセスする際の優先度を制御する。
 図2は、本発明の第1の実施形態のバス調停装置においてメモリ(DRAM216またはDRAM225)へのアクセス要求を調停する際の優先度の一例を示した図である。図2には、撮像装置1における3つの動作モード(第1モード、第2モード、および第3モード)においてCPU23がバスシステム21内のバス調停部214およびバス調停部217と、バスシステム22内のバス調停部223およびバス調停部226とのそれぞれに備えた優先度設定用のレジスタに設定する優先度の一例を示している。
 より具体的には、図2の(a)には、CPU23が、バス調停部214が対応するデータバス210に接続されている撮像処理部211、表示処理部219、デジタルシグナルプロセッサ212、画像処理部213、およびバス調停部217からのDRAM216へのアクセス要求を調停するためにレジスタ214Rに設定する優先度の一例を示している。また、図2の(b)には、CPU23が、バス調停部217が対応する画像処理部213からのバスシステム22に備えた画像処理部222への直接のアクセス要求と、撮像処理部211、表示処理部219、デジタルシグナルプロセッサ212、および画像処理部213からのバスシステム22に備えたDRAM225へのデータバス210経由でのアクセス要求とを調停するためにレジスタ217Rに設定する優先度の一例を示している。また、図2の(c)には、CPU23が、バス調停部223が対応するデータバス220に接続されているデジタルシグナルプロセッサ221、画像処理部222、およびバス調停部226からのDRAM225へのアクセス要求を調停するためにレジスタ223Rに設定する優先度の一例を示している。また、図2の(d)には、CPU23が、バス調停部226が対応する画像処理部222からのバスシステム21に備えた画像処理部213への直接のアクセス要求と、デジタルシグナルプロセッサ221および画像処理部222からのバスシステム21に備えたDRAM216へのデータバス220経由でのアクセス要求とを調停するためにレジスタ226Rに設定する優先度の一例を示している。
 なお、図2では、バス調停部214およびバス調停部217と、バス調停部223およびバス調停部226とのそれぞれに備えた優先度設定用のレジスタに設定する優先度が3段階である場合の一例を示している。より具体的には、図2に示した「高」は優先度が高いことを表し、「中」は優先度が中程度であることを表し、「低」は優先度が低いことを表している。
 撮像装置1における第1モードは、例えば、大きい画像を半分ずつに分けて、撮像処理画像データに基づいた一連の信号処理をデジタルシグナルプロセッサ212とデジタルシグナルプロセッサ221とで分担するモードであり、処理をする対象の撮像処理画像データのデータ量が多く、バスシステム21とバスシステム22との間でやり取りするデータ量もある程度多いことが想定されるモードである。この場合、CPU23は、図2の(a)に示したように、撮像処理部211の優先度を「高」、表示処理部219の優先度を「高」、デジタルシグナルプロセッサ212の優先度を「低」、画像処理部213の優先度を「中」、バス調停部217の優先度を「中」に設定する。また、CPU23は、図2の(b)に示したように、画像処理部213からのバスシステム22に備えた画像処理部222への直接のアクセス要求の優先度を「高」、データバス210経由でのバスシステム22に備えたDRAM225へのアクセス要求の優先度を「低」に設定する。また、CPU23は、図2の(c)に示したように、デジタルシグナルプロセッサ221の優先度を「低」、画像処理部222の優先度を「中」、バス調停部226の優先度を「中」に設定する。また、CPU23は、図2の(d)に示したように、画像処理部222からのバスシステム21に備えた画像処理部213への直接のアクセス要求の優先度を「高」、データバス220経由でのバスシステム21に備えたDRAM216へのアクセス要求の優先度を「低」に設定する。
 また、撮像装置1における第2モードは、例えば、撮像処理画像データに含まれる被写体を検出する検出処理をバスシステム22内のデジタルシグナルプロセッサ221がするモードであり、処理をする対象の撮像処理画像データのデータ量が少ないが、バスシステム21とバスシステム22との間でのデータのやり取りが多く発生することが想定されるモードである。この場合、CPU23は、図2の(a)に示したように、撮像処理部211の優先度を「高」、表示処理部219の優先度を「高」、デジタルシグナルプロセッサ212の優先度を「中」、画像処理部213の優先度を「低」、バス調停部217の優先度を「中」に設定する。また、CPU23は、図2の(b)に示したように、画像処理部213からのバスシステム22に備えた画像処理部222への直接のアクセス要求の優先度を「低」、データバス210経由でのバスシステム22に備えたDRAM225へのアクセス要求の優先度を「高」に設定する。また、CPU23は、図2の(c)に示したように、デジタルシグナルプロセッサ221の優先度を「中」、画像処理部222の優先度を「低」、バス調停部226の優先度を「中」に設定する。また、CPU23は、図2の(d)に示したように、画像処理部222からのバスシステム21に備えた画像処理部213への直接のアクセス要求の優先度を「低」、データバス220経由でのバスシステム21に備えたDRAM216へのアクセス要求の優先度を「高」に設定する。
 また、撮像装置1における第3モードは、例えば、大きい画像に対する一部の信号処理をバスシステム22内のデジタルシグナルプロセッサ221がするモードであり、バスシステム21とバスシステム22との間で、処理をする対象の撮像処理画像データの一部のデータのやり取りが多く発生することが想定されるモードである。この場合、CPU23は、図2の(a)に示したように、撮像処理部211の優先度を「高」、表示処理部219の優先度を「高」、デジタルシグナルプロセッサ212の優先度を「低」、画像処理部213の優先度を「中」、バス調停部217の優先度を「低」に設定する。また、CPU23は、図2の(b)に示したように、画像処理部213からのバスシステム22に備えた画像処理部222への直接のアクセス要求の優先度を「中」、データバス210経由でのバスシステム22に備えたDRAM225へのアクセス要求の優先度を「中」に設定する。また、CPU23は、図2の(c)に示したように、デジタルシグナルプロセッサ221の優先度を「中」、画像処理部222の優先度を「低」、バス調停部226の優先度を「低」に設定する。また、CPU23は、図2の(d)に示したように、画像処理部222からのバスシステム21に備えた画像処理部213への直接のアクセス要求の優先度を「中」、データバス220経由でのバスシステム21に備えたDRAM216へのアクセス要求の優先度を「中」に設定する。
 図2に示した一例のように、CPU23が撮像装置1の動作モードに基づいて、バス調停部214およびバス調停部217と、バス調停部223およびバス調停部226とのそれぞれに備えた優先度設定用のレジスタに優先度を設定することによって、バス調停システム20では、それぞれの処理ブロックからのメモリ(DRAM216やDRAM225)へのアクセス要求が、優先度に応じて受け付けられる(許可される)。これにより、バス調停システム20では、バス調停部214およびバス調停部217と、バス調停部223およびバス調停部226とのそれぞれが、対応するデータバス(データバス210およびデータバス220)ごとに、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。このことにより、バス調停システム20では、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるバス帯域を確保することができる。
 なお、CPU23が、撮像装置1の動作モードに基づいて、バス調停部214およびバス調停部217と、バス調停部223およびバス調停部226とのそれぞれに備えた優先度設定用のレジスタに設定する優先度は、図2に示した一例の組み合わせに限定されるものではない。従って、CPU23は、撮像装置1の動作モードに基づいて、様々な優先度の組み合わせを、それぞれの優先度設定用のレジスタに設定することができる。
 ここで、バス調停システム20の動作の一例について説明する。図3は、本発明の第1の実施形態のバス調停装置を備えたバス調停システム20を搭載した撮像装置1における動作の一例を示した図である。図3には、撮像処理部211が撮像処理を施した撮像処理画像データに対して、画像処理部213と画像処理部222とが連携して画像処理をするとともに、デジタルシグナルプロセッサ212とデジタルシグナルプロセッサ221とが連携して信号処理をする場合の動作の一例を示している。なお、図3には、バス調停システム20に備えたそれぞれの処理ブロックが対応するデータに対して処理をしている期間など、それぞれの構成要素が動作している期間、およびそれぞれのデータに対するアクセス(書き込みや読み出し)がされている期間を示している。
 まず、CPU23は、撮像装置1の動作モードに基づいて、バス調停システム20に備えたそれぞれの処理ブロックの優先度を決定する。なお、CPU23は、撮像装置1の動作モードが決定し、かつ、それぞれの処理ブロックが動作を開始する前にそれぞれの処理ブロックの優先度を決定する。そして、CPU23は、決定した優先度を、バス調停部214に備えたレジスタ214R、バス調停部217に備えたレジスタ217R、バス調停部223に備えたレジスタ223R、およびバス調停部226に備えたレジスタ226Rのそれぞれに設定する。このとき、CPU23は、バスシステム22に備えたそれぞれの処理ブロックの優先度を、バスシステム21に備えたバスコントローラ218およびバスシステム22に備えたバスコントローラ227を経由して設定する。このため、バス調停システム20では、CPU23が設定する優先度がバスコントローラ218によって送信され、バスコントローラ227が受信した優先度が、バス調停部223に備えたレジスタ223Rおよびバス調停部226に備えたレジスタ226Rのそれぞれに設定される。
 図3では、バスシステム21に備えたそれぞれの処理ブロックの優先度を、バス調停部214、バス調停部217、バス調停部223およびバス調停部226のそれぞれに設定するものとして示している。
 なお、撮像装置1では、撮像処理部211と表示処理部219とのそれぞれは、1フレーム期間ごとの一定の間隔でDRAM216にアクセスする。つまり、撮像処理部211は、1フレーム間隔でイメージセンサ10から出力された画素信号のデータに対して撮像処理を施し、それぞれのフレームの撮像処理画像データをDRAM216に記憶させる(書き込む)。また、表示処理部219は、1フレーム間隔で画像処理画像データに対して表示処理を施して生成した表示画像を表示デバイス30に表示させる。そして、撮像装置1では、撮像処理部211と表示処理部219とのそれぞれにおけるDRAM216へのアクセスが待たされてしまうと、撮像装置1のシステムとしての動作に破綻をきたしてしまう。このため、以下の説明においては、バス調停部214において、撮像処理部211と表示処理部219とのそれぞれの優先度が最も高く設定されているものとして説明する。
 その後、バス調停システム20において、それぞれの処理ブロックが、それぞれのフレームに対する処理を開始する。ここで、それぞれの処理ブロックの動作について説明する。
 撮像処理部211は、イメージセンサ10から出力された1フレーム分の画素信号のデータに対して撮像処理を施した撮像処理画像データAをデータバス210に出力し、DRAM216への記憶(書き込み)のアクセス要求をバス調停部214に出力する。そして、バス調停部214が、撮像処理部211からのアクセス要求を受け付けると(許可すると)、撮像処理部211がデータバス210に出力した撮像処理画像データAが、バス調停部214およびメモリ制御部215を経由してDRAM216に記憶される(書き込まれる)。
 画像処理部213は、DRAM216に記憶されている撮像処理画像データAを取得し(読み出し)、取得した撮像処理画像データAに対して画像処理を施して、再びDRAM216に記憶する(書き込む)。より具体的には、画像処理部213は、DRAM216から撮像処理画像データAを取得する(読み出す)アクセス要求をバス調停部214に出力する。そして、バス調停部214が、画像処理部213からのアクセス要求を受け付けると(許可すると)、DRAM216に記憶されている撮像処理画像データAが、メモリ制御部215およびバス調停部214を経由してデータバス210に出力される。これにより、画像処理部213は、DRAM216に記憶されている撮像処理画像データAを取得する(読み出す)。また、画像処理部213は、取得した撮像処理画像データAに対して画像処理を施した後、画像処理を施した画像処理画像データCをデータバス210に出力し、DRAM216への記憶(書き込み)のアクセス要求をバス調停部214に出力する。そして、バス調停部214が、画像処理部213からのアクセス要求を受け付けると(許可すると)、画像処理部213がデータバス210に出力した画像処理画像データCが、バス調停部214およびメモリ制御部215を経由してDRAM216に記憶される(書き込まれる)。
 また、画像処理部213は、取得した撮像処理画像データAに対して施す一連の画像処理のうち、一部の画像処理を画像処理部222に施させるために必要な中間的な画像処理画像データや係数などのデータ(以下、「中間データ」という)Ciを、画像処理部222に直接出力する。より具体的には、画像処理部213は、中間データCiをバス調停部217に出力し、画像処理部222への直接のアクセス要求をバス調停部217に出力する。そして、バス調停部217が、画像処理部213からのアクセス要求を受け付けると(許可すると)、画像処理部213がバス調停部217に出力した中間データCiがバスコントローラ218に出力され、バスコントローラ218が、バスコントローラ227に送信する。そして、バスコントローラ227は、バスコントローラ218から送信されてきた中間データCiを受信して、バス調停部226に出力し、画像処理部222への直接のアクセス要求を出力する。そして、バス調停部226が、バスコントローラ227からのアクセス要求を受け付けると(許可すると)、バスコントローラ227が出力した中間データCi、すなわち、画像処理部213が途中まで画像処理して出力した中間データCiが、画像処理部222に出力される。
 デジタルシグナルプロセッサ212は、DRAM216に記憶されている撮像処理画像データAを取得し(読み出し)、取得した撮像処理画像データAに対して信号処理(図3においては検出処理)を施して、再びDRAM216に記憶する(書き込む)。より具体的には、デジタルシグナルプロセッサ212は、DRAM216から撮像処理画像データAを取得する(読み出す)アクセス要求をバス調停部214に出力する。そして、バス調停部214が、デジタルシグナルプロセッサ212からのアクセス要求を受け付けると(許可すると)、DRAM216に記憶されている撮像処理画像データAが、メモリ制御部215およびバス調停部214を経由してデータバス210に出力される。これにより、デジタルシグナルプロセッサ212は、DRAM216に記憶されている撮像処理画像データAを取得する(読み出す)。また、デジタルシグナルプロセッサ212は、取得した撮像処理画像データAに対して検出処理を施した後、検出処理を施した信号処理データBをデータバス210に出力し、DRAM216への記憶(書き込み)のアクセス要求をバス調停部214に出力する。そして、バス調停部214が、デジタルシグナルプロセッサ212からのアクセス要求を受け付けると(許可すると)、デジタルシグナルプロセッサ212がデータバス210に出力した信号処理データBが、バス調停部214およびメモリ制御部215を経由してDRAM216に記憶される(書き込まれる)。
 また、デジタルシグナルプロセッサ212は、検出処理を施してDRAM216に記憶させた(書き込んだ)信号処理データBの一部のデータを、画像処理部222が画像処理を施すために利用するデータ(以下、「検出データ」という)BpとしてDRAM225に転送する。より具体的には、デジタルシグナルプロセッサ212は、DRAM216から検出データBpを取得する(読み出す)アクセス要求をバス調停部217に出力する。これにより、バス調停部217は、DRAM216から検出データBpを取得する(読み出す)アクセス要求をバス調停部214に出力する。そして、バス調停部214が、バス調停部217からのアクセス要求を受け付けると(許可すると)、DRAM216に記憶されている検出データBpが、メモリ制御部215およびバス調停部214を経由してデータバス210に出力される。これにより、バス調停部217は、DRAM216に記憶されている検出データBpを取得する(読み出す)。バス調停部217は、取得した検出データBpをバスコントローラ218に出力し、バスコントローラ218が、バスコントローラ227に送信する。そして、バスコントローラ227は、バスコントローラ218から送信されてきた検出データBpを受信して、バス調停部226に出力する。バス調停部226は、バスコントローラ227から出力された検出データBpをデータバス220に出力し、DRAM225への記憶(書き込み)のアクセス要求をバス調停部223に出力する。そして、バス調停部223が、バス調停部226からのアクセス要求を受け付けると(許可すると)、バス調停部226がデータバス220に出力した検出データBpが、バス調停部223およびメモリ制御部224を経由してDRAM225に記憶される(書き込まれる)。
 画像処理部222は、バス調停部226から出力された中間データCiに対して画像処理を施した画像処理画像データDを、バスシステム21に戻し、DRAM216に記憶する(書き込む)。より具体的には、画像処理部222は、画像処理画像データDをバス調停部226に出力し、DRAM216への記憶(書き込み)のアクセス要求をバス調停部226に出力する。そして、バス調停部226が、画像処理部222からのアクセス要求を受け付けると(許可すると)、画像処理部222がバス調停部226に出力した画像処理画像データDがバスコントローラ227に出力され、バスコントローラ227が、バスコントローラ218に送信する。そして、バスコントローラ218は、バスコントローラ227から送信されてきた画像処理画像データDを受信してバス調停部217に出力する。バス調停部217は、バスコントローラ218から出力された画像処理画像データDをデータバス210に出力し、DRAM216への記憶(書き込み)のアクセス要求をバス調停部214に出力する。そして、バス調停部214が、デジタルシグナルプロセッサ212からのアクセス要求を受け付けると(許可すると)、バス調停部217がデータバス210に出力した画像処理画像データDが、バス調停部214およびメモリ制御部215を経由してDRAM216に記憶される(書き込まれる)。
 なお、画像処理部222は、中間データCiに対して画像処理を施す際に、必要に応じてDRAM225に記憶されている検出データBpを取得し(読み出し)、取得した検出データBpを利用して、中間データCiに対して画像処理を施してもよい。この場合、画像処理部222は、DRAM225から検出データBpを取得する(読み出す)アクセス要求をバス調停部223に出力する。そして、バス調停部223が、画像処理部222からのアクセス要求を受け付けると(許可すると)、DRAM225に記憶されている検出データBpが、メモリ制御部224およびバス調停部223を経由してデータバス220に出力される。これにより、画像処理部222は、DRAM225に記憶されている検出データBpを取得し(読み出し)、取得した検出データBpを利用して、中間データCiに対する画像処理を施すことができる。
 表示処理部219は、DRAM216に記憶されている画像処理画像データCや画像処理画像データD(以下、「表示画像データ」という)Eを取得し(読み出し)、取得した表示画像データEに対して表示処理を施した表示画像を表示デバイス30に表示させる。より具体的には、表示処理部219は、DRAM216から表示画像データEを取得する(読み出す)アクセス要求をバス調停部214に出力する。そして、バス調停部214が、表示処理部219からのアクセス要求を受け付けると(許可すると)、DRAM216に記憶されている表示画像データEが、メモリ制御部215およびバス調停部214を経由してデータバス210に出力される。これにより、表示処理部219は、DRAM216に記憶されている表示画像データEを取得する(読み出す)。そして、表示処理部219は、取得した表示画像データEに対して表示処理を施して表示画像を生成し、生成した表示画像を表示デバイス30に出力して表示させる。
 デジタルシグナルプロセッサ221は、DRAM216に記憶されている前のフレームの撮像処理画像データAや、信号処理データB、画像処理画像データC、画像処理画像データD(以下、「前フレームデータ」という)Fを取得し(読み出し)、取得した前フレームデータFに対して信号処理(図3においては加工処理)を施す。なお、デジタルシグナルプロセッサ221は、2フレームに1回の割合で前フレームデータFに対して加工処理を施す。そして、デジタルシグナルプロセッサ221は、加工処理を施した加工処理データGを、再びDRAM216に記憶する(書き込む)。より具体的には、デジタルシグナルプロセッサ221は、DRAM216から前フレームデータFを取得する(読み出す)アクセス要求をバス調停部226に出力する。これにより、バス調停部226は、デジタルシグナルプロセッサ221からのアクセス要求をバスコントローラ227およびバスコントローラ218を経由してバス調停部217に出力する。そして、バス調停部217が、DRAM216から前フレームデータFを取得する(読み出す)アクセス要求をバス調停部214に出力する。そして、バス調停部217が、バス調停部217からのアクセス要求、つまり、デジタルシグナルプロセッサ221からのアクセス要求を受け付けると(許可すると)、DRAM216に記憶されている前フレームデータFが、メモリ制御部215およびバス調停部214を経由してデータバス210に出力される。これにより、バス調停部217は、DRAM216に記憶されている前フレームデータFを取得して(読み出して)バスコントローラ218に出力し、バスコントローラ218が、バスコントローラ227に送信する。そして、バスコントローラ227は、バスコントローラ218から送信されてきた前フレームデータFを受信して、バス調停部226に出力する。バス調停部226は、バスコントローラ227から出力された前フレームデータFをデータバス220に出力し、DRAM225への記憶(書き込み)のアクセス要求をバス調停部223に出力する。そして、バス調停部223が、バス調停部226からのアクセス要求を受け付けると(許可すると)、バス調停部226がデータバス220に出力した前フレームデータFが、バス調停部223およびメモリ制御部224を経由してDRAM225に記憶される(書き込まれる)。
 そして、デジタルシグナルプロセッサ221は、DRAM225に記憶されている前フレームデータFを取得し(読み出し)、取得した前フレームデータFに対して加工処理を施した加工処理データGをDRAM225に記憶する(書き込む)。より具体的には、デジタルシグナルプロセッサ221は、DRAM225から前フレームデータFを取得する(読み出す)アクセス要求をバス調停部223に出力する。そして、バス調停部223が、デジタルシグナルプロセッサ221からのアクセス要求を受け付けると(許可すると)、DRAM225に記憶されている前フレームデータFが、メモリ制御部224およびバス調停部223を経由してデータバス220に出力される。これにより、デジタルシグナルプロセッサ221は、DRAM225に記憶されている前フレームデータFを取得する(読み出す)。また、デジタルシグナルプロセッサ221は、取得した前フレームデータFに対して加工処理を施した後、加工処理を施した加工処理データGをデータバス220に出力し、DRAM225への記憶(書き込み)のアクセス要求をバス調停部223に出力する。そして、バス調停部223が、デジタルシグナルプロセッサ221からのアクセス要求を受け付けると(許可すると)、デジタルシグナルプロセッサ221がデータバス220に出力した加工処理データGが、バス調停部223およびメモリ制御部224を経由してDRAM225に記憶される(書き込まれる)。
 そして、デジタルシグナルプロセッサ221は、DRAM225に記憶した加工処理データGを、再びDRAM216に記憶する(書き込む)。より具体的には、デジタルシグナルプロセッサ221は、DRAM216に加工処理データGを記憶させる(書き込む)アクセス要求をバス調停部226に出力する。これにより、バス調停部226は、DRAM225から加工処理データGを取得する(読み出す)アクセス要求をバス調停部223に出力する。そして、バス調停部223が、バス調停部226からのアクセス要求を受け付けると(許可すると)、DRAM225に記憶されている加工処理データGが、メモリ制御部224およびバス調停部223を経由してデータバス220に出力される。これにより、バス調停部226は、DRAM225に記憶されている加工処理データGを取得する(読み出す)。バス調停部226は、取得した加工処理データGをバスコントローラ227に出力し、バスコントローラ227が、バスコントローラ218に送信する。そして、バスコントローラ218は、バスコントローラ227から送信されてきた加工処理データGを受信して、バス調停部217に出力する。バス調停部217は、バスコントローラ218から出力された加工処理データGをデータバス210に出力し、DRAM216への記憶(書き込み)のアクセス要求をバス調停部214に出力する。そして、バス調停部214が、バス調停部217からのアクセス要求を受け付けると(許可すると)、バス調停部217がデータバス210に出力した加工処理データGが、バス調停部214およびメモリ制御部215を経由してDRAM216に記憶される(書き込まれる)。
 このように、バス調停システム20では、それぞれの処理ブロックが、DRAM216またはDRAM225へのアクセス要求を出力する。そして、バス調停システム20では、バスシステム21に備えたバス調停部214およびバス調停部217と、バスシステム22に備えたバス調停部223およびバス調停部226とのそれぞれが、対応する処理ブロックからのアクセス要求を、設定された優先度に基づいて調停する。より具体的には、バス調停部214は、撮像処理部211からの撮像処理画像データAの記憶(書き込み)と、デジタルシグナルプロセッサ212からの撮像処理画像データAの取得(読み出し)および信号処理データBの記憶(書き込み)と、画像処理部213からの撮像処理画像データAの取得(読み出し)および画像処理画像データCの記憶(書き込み)と、バス調停部217からの検出データBpや前フレームデータFの取得(読み出し)および画像処理画像データDや加工処理データGの記憶(書き込み)と、表示処理部219からの表示画像データEの取得(読み出し)とのそれぞれのアクセス要求を調停する。また、バス調停部217は、画像処理部213からの中間データCiの画像処理部222への直接の出力と、デジタルシグナルプロセッサ212からの検出データBpの転送と、バスコントローラ218からの画像処理画像データD、前フレームデータFおよび加工処理データGの転送とのそれぞれのアクセス要求を調停する。また、バス調停部226は、バスコントローラ227からの中間データCiの画像処理部222への直接の出力と、バスコントローラ227からの検出データBpおよび前フレームデータFの転送と、画像処理部222からの画像処理画像データDの直接の転送と、デジタルシグナルプロセッサ221からの前フレームデータFおよび加工処理データGの転送とのそれぞれのアクセス要求を調停する。また、バス調停部223は、バス調停部226からの検出データBpや前フレームデータFの記憶(書き込み)および加工処理データGの取得(読み出し)と、画像処理部222からの検出データBpの取得(読み出し)と、デジタルシグナルプロセッサ221からの前フレームデータFの取得(読み出し)および加工処理データGの記憶(書き込み)とのそれぞれのアクセス要求を調停する。
 このような動作によって、バス調停システム20では、バスシステム21およびバスシステム22に備えたそれぞれの処理ブロックからのメモリへのアクセス要求を、CPU23と、バス調停部214およびバス調停部217と、バス調停部223およびバス調停部226とで構成される第1の実施形態のバス調停装置が調停する。
 なお、上述したように、バス調停システム20では、バス調停部214において、撮像処理部211と表示処理部219とによるDRAM216へのアクセスが待たされることがないように、それぞれの優先度が最も高く設定している。このため、バス調停システム20では、バス調停部214が調停する撮像処理部211および表示処理部219以外の処理ブロックからのDRAM216へのアクセス要求が、データバス210の現在のバス帯域に応じて待たされることがある。このDRAM216へのアクセス要求が待たされている状態は、図3においても表されている。より具体的には、図3では、撮像処理部211による撮像処理の間隔と表示処理部219による表示処理の間隔は、1フレーム期間ごとの間隔で一定である。これに対して、図3では、画像処理部213による画像処理の間隔、デジタルシグナルプロセッサ212による検出処理の間隔、画像処理部222による画像処理の間隔が、それぞれのフレームごとに異なっている。例えば、図3において、画像処理部222による画像処理の間隔(処理間隔)は、1フレーム目と2フレーム目との間の処理間隔と、2フレーム目と3フレーム目との間の処理間隔とで異なっている。これは、画像処理部222が1フレーム目の画像処理を完了し2フレーム目の画像処理を開始するまでの間に、デジタルシグナルプロセッサ221による加工処理が発生したことのよるものである影響によるものである。なお、それぞれの処理ブロックにおける処理時間も、同様に他の処理ブロックによる処理が発生したことの影響で変わってくることもある。
 このため、第1の実施形態のバス調停装置では、CPU23が、バス調停部214およびバス調停部217と、バス調停部223およびバス調停部226とのそれぞれが対応する処理ブロックの優先度を、撮像装置1の動作モードに基づいて設定する。これにより、第1の実施形態のバス調停装置を備えた第1の実施形態のバス調停システム20では、それぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。このことにより、第1の実施形態のバス調停装置を備えた第1の実施形態のバス調停システム20では、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるデータの流れ、つまり、データバスのバス帯域を確保することができる。このことにより、第1の実施形態のバス調停装置を備えた第1の実施形態のバス調停システム20では、それぞれの処理ブロックにおけるデータの処理時間を確保し、第1の実施形態のバス調停システム20を搭載した撮像装置1のシステム全体の動作を保証することができる。
 第1の実施形態によれば、少なくとも1つのメモリ(DRAM216、DRAM225)とメモリを共有する複数の処理ブロック(撮像処理部211、デジタルシグナルプロセッサ212、画像処理部213、バス調停部217、バスコントローラ218、表示処理部219、デジタルシグナルプロセッサ221、画像処理部222、バス調停部226、バスコントローラ227)とが接続された複数のデータバス(データバス210、データバス220)において、それぞれの処理ブロックによるいずれかのメモリへのアクセスを調停するバス調停装置(バス調停装置)であって、第1のメモリ(DRAM216)が接続されたデータバスである第1のデータバス(データバス210)において、処理ブロック(撮像処理部211、デジタルシグナルプロセッサ212、画像処理部213、バス調停部217、表示処理部219)から出力されたDRAM216へのアクセス要求を調停する第1のバス調停部(バス調停部214)と、第2のメモリ(DRAM225)が接続されたデータバスである第2のデータバス(データバス220)において、処理ブロック(デジタルシグナルプロセッサ221、画像処理部222、バス調停部226)から出力されたDRAM225のアクセス要求を調停する第2のバス調停部(バス調停部223)と、DRAM216へのアクセス要求と、DRAM225へのアクセス要求とを含めて、バス調停部214とバス調停部223とのそれぞれがアクセス要求を受け付ける際の優先度を制御する優先制御部(CPU23)と、を備える、バス調停装置(バス調停装置)が構成される。
 また、第1の実施形態によれば、データバス210に接続された複数の処理ブロックは、DRAM225にアクセスする第1の処理ブロック(バス調停部217、バスコントローラ218を含めてもよい)を含み、データバス220に接続された複数の処理ブロックは、DRAM216にアクセスする第2の処理ブロック(バス調停部226、バスコントローラ227を含めてもよい)を含み、CPU23は、バス調停部217から出力されたアクセス要求と、バス調停部226から出力されたアクセス要求とを含めて、バス調停部214とバス調停部223とのそれぞれが受け付けるアクセス要求の優先度を制御する、バス調停装置が構成される。
 また、第1の実施形態によれば、CPU23は、バス調停部214とバス調停部223とのそれぞれに優先度を設定(例えば、優先度設定用のレジスタ214Rおよびレジスタ223Rに優先度を設定)し、バス調停部214とバス調停部223とのそれぞれは、(例えば、レジスタに)設定された優先度に基づいて、対応するメモリ(DRAM216またはDRAM225)に対するアクセス要求を受け付ける処理ブロックを決定する、バス調停装置が構成される。
 また、第1の実施形態によれば、CPU23は、バス調停部217およびバス調停部226を経由して、バス調停部214とバス調停部223とのそれぞれが受け付けるアクセス要求の優先度を制御する、バス調停装置が構成される。
 また、第1の実施形態によれば、少なくとも1つのメモリ(DRAM216、DRAM225)とメモリを共有する複数の処理ブロック(撮像処理部211、デジタルシグナルプロセッサ212、画像処理部213、バス調停部217、バスコントローラ218、表示処理部219、デジタルシグナルプロセッサ221、画像処理部222、バス調停部226、バスコントローラ227)とが接続された複数のデータバス(データバス210、データバス220)において、それぞれの処理ブロックによるいずれかのメモリへのアクセスを調停するバス調停装置(バス調停装置)であって、第1のメモリ(DRAM216)が接続されたデータバスである第1のデータバス(データバス210)において、処理ブロック(撮像処理部211、デジタルシグナルプロセッサ212、画像処理部213、バス調停部217、表示処理部219)から出力されたDRAM216へのアクセス要求を調停する第1のバス調停部(バス調停部214)と、第2のメモリ(DRAM225)が接続されたデータバスである第2のデータバス(データバス220)において、処理ブロック(デジタルシグナルプロセッサ221、画像処理部222、バス調停部226)から出力されたDRAM225のアクセス要求を調停する第2のバス調停部(バス調停部223)と、DRAM216へのアクセス要求と、DRAM225へのアクセス要求とを含めて、バス調停部214とバス調停部223とのそれぞれがアクセス要求を受け付ける際の優先度を制御する優先制御部(CPU23)と、を具備したバス調停装置(バス調停装置)、を備える、バス調停システム(バス調停システム20)が構成される。
 また、第1の実施形態によれば、少なくとも1つのメモリ(DRAM216、DRAM225)とメモリを共有する複数の処理ブロック(撮像処理部211、デジタルシグナルプロセッサ212、画像処理部213、バス調停部217、バスコントローラ218、表示処理部219、デジタルシグナルプロセッサ221、画像処理部222、バス調停部226、バスコントローラ227)とが接続された複数のデータバス(データバス210、データバス220)において、それぞれの処理ブロックによるいずれかのメモリへのアクセスを調停するバス調停装置(バス調停装置)であって、第1のメモリ(DRAM216)が接続されたデータバスである第1のデータバス(データバス210)において、処理ブロック(撮像処理部211、デジタルシグナルプロセッサ212、画像処理部213、バス調停部217、表示処理部219)から出力されたDRAM216へのアクセス要求を調停する第1のバス調停部(バス調停部214)と、第2のメモリ(DRAM225)が接続されたデータバスである第2のデータバス(データバス220)において、処理ブロック(デジタルシグナルプロセッサ221、画像処理部222、バス調停部226)から出力されたDRAM225のアクセス要求を調停する第2のバス調停部(バス調停部223)と、DRAM216へのアクセス要求と、DRAM225へのアクセス要求とを含めて、バス調停部214とバス調停部223とのそれぞれがアクセス要求を受け付ける際の優先度を制御する優先制御部(CPU23)と、を具備したバス調停装置(バス調停装置)を備えるバス調停システム(バス調停システム20)、を備える、撮像装置(撮像装置1)が構成される。
 上述したように、第1の実施形態のバス調停装置では、バス調停システム20内のCPU23が、バス調停システム20を搭載した撮像装置1の動作モードに基づいて、バスシステム21内のバス調停部214およびバス調停部217と、バスシステム22内のバス調停部223およびバス調停部226とのそれぞれが対応するデータバスのバス帯域を確保するために必要な固定の優先度を、それぞれの処理ブロックごとに決定する。つまり、第1の実施形態のバス調停装置では、CPU23が、バス調停部214およびバス調停部217と、バス調停部223およびバス調停部226とのそれぞれが対応するデータバスに接続されたそれぞれの処理ブロックからのメモリへのアクセス要求を受け付ける(許可する)際の固定の優先度を決定する。そして、第1の実施形態のバス調停装置では、CPU23が、バス調停部214およびバス調停部217と、バス調停部223およびバス調停部226とのそれぞれに備えた優先度設定用のレジスタに、決定した優先度を設定する。これにより、第1の実施形態のバス調停装置では、バス調停部214およびバス調停部217と、バス調停部223およびバス調停部226とのそれぞれが、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を、優先度設定用のレジスタに設定された優先度に基づいて調停する。これにより、第1の実施形態のバス調停装置を備えた第1の実施形態のバス調停システム20では、それぞれのデータバスごとに、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。つまり、第1の実施形態のバス調停装置では、バス調停部214およびバス調停部217と、バス調停部223およびバス調停部226とのそれぞれに備えた優先度設定用のレジスタにCPU23が決定した固定の優先度を設定するという容易な構成で、それぞれの処理ブロックからのメモリへのアクセス要求を適切に調停することができる。
 このことにより、第1の実施形態のバス調停装置を備えた第1の実施形態のバス調停システム20では、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるバス帯域を確保することができる。このことにより、第1の実施形態のバス調停装置を備えた第1の実施形態のバス調停システム20では、それぞれのデータに対して滞りなく処理をすることができ、第1の実施形態のバス調停システム20を搭載した撮像装置1のシステム全体としての動作を保証することができる。
 なお、第1の実施形態のバス調停装置を備えた第1の実施形態のバス調停システム20では、CPU23が、バスシステム22に備えたそれぞれの処理ブロックの優先度を、バスシステム21に備えたバスコントローラ218およびバスシステム22に備えたバスコントローラ227を経由して設定する場合について説明した。しかし、第1の実施形態のバス調停装置を備えた第1の実施形態のバス調停システム20では、バスシステム21とバスシステム22とが1つのシステムLSIで構成されている。このため、第1の実施形態のバス調停装置では、CPU23によるバスシステム22に備えたそれぞれの処理ブロックの優先度の設定は、バスシステム21に備えたバスコントローラ218およびバスシステム22に備えたバスコントローラ227を経由した設定に限定されるものではない。つまり、第1の実施形態のバス調停装置では、CPU23が、バスシステム22に備えたそれぞれの処理ブロックの優先度を、バスシステム21に備えたバスコントローラ218およびバスシステム22に備えたバスコントローラ227を経由せずに、バス調停部223およびバス調停部226のそれぞれに備えた優先度設定用のレジスタに直接設定する構成にしてもよい。
 また、第1の実施形態のバス調停装置を備えた第1の実施形態のバス調停システム20では、バスシステム21とバスシステム22とが1つのシステムLSIで構成される場合について説明した。しかし、本発明のバス調停装置を備えたバス調停システムの構成は、1つのシステムLSIの構成に限定されるものではなく、異なる2つのシステムLSIで構成されてもよい。さらに、CPU23も、それぞれのシステムLSIとは異なる構成要素として構成されてもよい。この場合、CPU23は、それぞれのバスシステムに備えた処理ブロックの優先度を、一方のシステムLSIとして構成されたバスシステム21内のバス調停部214およびメモリ制御部215と、他方のシステムLSIとして構成されたバスシステム22内のバス調停部223およびバス調停部226とのそれぞれに備えた優先度設定用のレジスタに直接設定する構成にしてもよい。つまり、第1の実施形態のバス調停装置では、CPU23が、バスシステム22に備えたそれぞれの処理ブロックの優先度を、バスシステム21に備えたバスコントローラ218およびバスシステム22に備えたバスコントローラ227を経由して設定していたが、バスシステム21と同様に、バス調停部223およびバス調停部226のそれぞれに備えた優先度設定用のレジスタに直接設定する構成にしてもよい。
 なお、第1の実施形態のバス調停装置では、CPU23が、撮像装置1の動作モードに基づいてそれぞれの処理ブロックに対応する固定の優先度を決定してそれぞれのバス調停部に備えた優先度設定用のレジスタに設定する構成である場合について説明した。しかし、本発明のバス調停装置において調停するそれぞれの処理ブロックでは、それぞれの処理の段階においてメモリにアクセスする頻度が異なることも考えられる。つまり、それぞれの処理ブロックでは、それぞれの処理の段階ごとに必要な優先度が異なることも考えられる。この場合、本発明のバス調停装置では、調停するそれぞれの処理ブロックおける処理の状態によってメモリにアクセスする際の優先度を動的に変更する構成にすることもできる。
(第2の実施形態)
 次に、本発明の第2の実施形態のバス調停装置について説明する。本発明の第2の実施形態のバス調停装置は、それぞれのデータバスに複数種類の画像処理を施す処理ブロックが接続されている場合において、それぞれのデータバスに接続されているメモリへのアクセス要求を調停する構成である。なお、以下の説明においても、本発明の第2の実施形態のバス調停装置が、例えば、静止画用カメラや動画用カメラなどの撮像装置に搭載されている本発明の第2の実施形態のバス調停システムに備えられている場合について説明する。
 図4は、本発明の第2の実施形態におけるバス調停装置を備えたバス調停システムを搭載した撮像装置の概略構成を示したブロック図である。図4に示した第2の実施形態のバス調停装置を備えたバス調停システムを搭載した撮像装置の構成には、図1に示した第1の実施形態のバス調停装置を備えたバス調停システム20を搭載した撮像装置1と同様の構成要素を含んでいる。従って、第2の実施形態のバス調停装置を備えたバス調停システムを搭載した撮像装置の構成要素において、第1の実施形態のバス調停装置を備えたバス調停システム20を搭載した撮像装置1の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。また、図4に示した第2の実施形態のバス調停装置および第2の実施形態のバス調停装置を備えたバス調停システムの構成には、図1に示した第1の実施形態のバス調停装置および第1の実施形態のバス調停装置を備えたバス調停システム20と同様の構成要素を含んでいる。従って、第2の実施形態のバス調停装置および第2の実施形態のバス調停装置を備えたバス調停システムの構成要素において、第1の実施形態のバス調停装置および第1の実施形態のバス調停装置を備えたバス調停システム20の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。
 図4に示した撮像装置2は、イメージセンサ10と、バス調停システム40と、表示デバイス30と、を備えている。また、バス調停システム40は、2つのバスシステム(バスシステム41およびバスシステム42)と、CPU43と、を備えている。
 また、バスシステム41は、撮像処理部411と、デジタルシグナルプロセッサ412と、画像処理部413と、バス調停部414と、メモリ制御部215と、DRAM216と、バス調停部417と、バスコントローラ218と、表示処理部419と、を備えている。また、画像処理部413は、3つの画像処理モジュール画像処理部(画像処理モジュール4131~画像処理モジュール4133)と、2つのセレクタ(セレクタ4134およびセレクタ4135)と、を備えている。撮像処理部411、デジタルシグナルプロセッサ412、画像処理モジュール4131~画像処理モジュール4133、バス調停部417、および表示処理部419のそれぞれは、優先度設定用のレジスタを備えている。より具体的には、撮像処理部411はレジスタ411Rを備え、デジタルシグナルプロセッサ412はレジスタ412Rを備え、画像処理モジュール4131はレジスタ4131Rを備え、画像処理モジュール4132はレジスタ4132Rを備え、画像処理モジュール4133はレジスタ4133Rを備え、バス調停部417はレジスタ417Rを備え、表示処理部419はレジスタ419Rを備えている。バスシステム41では、撮像処理部411と、デジタルシグナルプロセッサ412と、画像処理部413内の画像処理モジュール4131、画像処理モジュール4132、および画像処理モジュール4133と、バス調停部414と、バス調停部417と、表示処理部419とのそれぞれが、共通のデータバス210に接続されている。
 また、バスシステム42は、デジタルシグナルプロセッサ421と、画像処理部422と、バス調停部423と、メモリ制御部224と、DRAM225と、バス調停部426と、バスコントローラ227と、を備えている。また、画像処理部422は、2つのセレクタ(セレクタ4221およびセレクタ4222)と、3つの画像処理モジュール画像処理部(画像処理モジュール4223~画像処理モジュール4225)と、を備えている。デジタルシグナルプロセッサ421、画像処理モジュール4223~画像処理モジュール4225、およびバス調停部426のそれぞれは、優先度設定用のレジスタを備えている。より具体的には、デジタルシグナルプロセッサ421はレジスタ421Rを備え、画像処理モジュール4223はレジスタ4223Rを備え、画像処理モジュール4224はレジスタ4224Rを備え、画像処理モジュール4225はレジスタ4225Rを備え、バス調停部426はレジスタ426Rを備えている。バスシステム42では、デジタルシグナルプロセッサ421と、画像処理部422内の画像処理モジュール4223、画像処理モジュール4224、および画像処理モジュール4225と、バス調停部423と、バス調停部426とのそれぞれが、共通のデータバス220に接続されている。
 なお、図4に示した撮像装置2では、バス調停システム40内のCPU43と、バスシステム41内のバス調停部414およびバス調停部417と、バスシステム42内のバス調停部423およびバス調停部426との構成が、第2の実施形態のバス調停装置に相当する。
 撮像装置2も、図1に示した第1の実施形態における撮像装置1と同様に、イメージセンサ10によって被写体の静止画像または動画像を撮影し、撮影した静止画像または動画像に応じた表示画像を表示デバイス30に表示させる。なお、撮像装置2も、第1の実施形態における撮像装置1と同様に、撮影した静止画像や動画像に応じた記録画像を、不図示の記録媒体に記録させることもできる。
 バス調停システム40は、図1に示した第1の実施形態におけるバス調停システム20と同様に、イメージセンサ10から出力された画素信号に対して予め定めた画像処理をして、静止画像や動画像を生成する。また、バス調停システム40は、第1の実施形態におけるバス調停システム20と同様に、生成した静止画像や動画像に応じた表示画像を生成し、生成した表示画像を表示デバイス30に表示させる。また、バス調停システム40は、第1の実施形態におけるバス調停システム20と同様に、生成した静止画像や動画像に応じた記録画像を生成し、生成した記録画像を不図示の記録媒体に記録させることもできる。
 バス調停システム40では、バスシステム41に備えた撮像処理部411、デジタルシグナルプロセッサ412、画像処理モジュール4131、画像処理モジュール4132、画像処理モジュール4133、および表示処理部419と、バスシステム42に備えたデジタルシグナルプロセッサ421、画像処理モジュール4223、画像処理モジュール4224、および画像処理モジュール4225とのそれぞれが、バス調停システム40において画像処理をする処理機能を実現する処理ブロックである。
 バス調停システム40では、バスシステム41に備えた撮像処理部411、デジタルシグナルプロセッサ412、画像処理モジュール4131、画像処理モジュール4132、画像処理モジュール4133、および表示処理部419のそれぞれが、データバス210を経由してDRAM216にアクセスする。また、バス調停システム40では、バスシステム42に備えたデジタルシグナルプロセッサ421、画像処理モジュール4223、画像処理モジュール4224、および画像処理モジュール4225のそれぞれが、データバス220を経由してDRAM225にアクセスする。このとき、バス調停システム40でも、第1の実施形態におけるバス調停システム20と同様に、バスシステム41およびバスシステム42に備えたそれぞれの処理ブロックが、例えば、DMA転送によってDRAM216またはDRAM225にアクセスする。
 また、バス調停システム40でも、第1の実施形態におけるバス調停システム20と同様に、バスシステム41とバスシステム42との間で、互いにデータをやり取りすることもできる。このときも、第1の実施形態におけるバス調停システム20と同様に、バスシステム41およびバスシステム42に備えたそれぞれの処理ブロックは、互いのデータバス(データバス210およびデータバス220)を経由して、例えば、DMA転送によってDRAM216やDRAM225にアクセスする。
 また、バス調停システム40でも、第1の実施形態におけるバス調停システム20と同様に、バスシステム41に備えた画像処理部413と、バスシステム42に備えた画像処理部422とのそれぞれが、互いに連携してバス調停システム40における画像処理をすることもできる。このときも、第1の実施形態におけるバス調停システム20と同様に、バスシステム41に備えた画像処理部413とバスシステム42に備えた画像処理部422とは、互いのデータバス(データバス210およびデータバス220)を経由せずに、連携するデータを直接やり取りすることができる。
 バス調停システム40では、CPU43が、バスシステム41およびバスシステム42に備えたそれぞれの処理ブロックがDRAM216やDRAM225にアクセスする際の優先度を制御する。ただし、バス調停システム40では、CPU43が、撮像装置2の動作モードに基づいてそれぞれの処理ブロックによるDRAM216やDRAM225へのアクセスの優先度を設定した後、それぞれの処理ブロックにおける処理の進行状況を観測し、観測した結果に基づいてそれぞれの処理ブロックの優先度を動的に変更する。例えば、画像処理部413に備えた画像処理モジュール4132が撮像処理画像データに対して樽型歪みのような光学系の歪補正処理をする場合を考える。樽型歪みは、画像の上端および下端の方がより多く歪んでいる。このため、画像処理モジュール4132が画像の上端または下端の歪補正処理をするときには、画像の中央の歪補正処理をするときよりも、より多くの撮像処理画像データを用いることとなる。ここで、画像処理モジュール4132が画像の上端または下端の歪補正処理をするときに、画像の中央の歪補正処理をするときと同様にDRAMへのアクセスが待たされてしまうと、歪補正処理により多くの時間を要してしまい、撮像装置2のシステム全体としてのデータの処理時間が保証できなくなってしまうことが考えられる。このため、CPU43は、画像処理モジュール4132における歪補正処理の進行状況を観測して、画像処理モジュール4132によるDRAMへのアクセス、つまり、撮像処理画像データの取得が待たされることがないように制御する。
 より具体的には、CPU43は、画像処理モジュール4132における歪補正処理の進行状況と、歪補正処理を完了する必要がある時間(リミット時間)とに基づいて、歪補正処理を完了するまでの残りの時間(余裕時間)を算出する。そして、CPU43は、算出した余裕時間と、歪補正処理の緊急度を判定するために予め定めた時間の閾値(緊急度判定閾値)とを比較して、画像処理モジュール4132における歪補正処理の緊急度を判定する。ここで、CPU43は、余裕時間と緊急度判定閾値とを比較した結果、余裕時間が緊急度判定閾値以上である場合には、画像処理モジュール4132における歪補正処理の緊急度は高くないと判定し、余裕時間が緊急度判定閾値を下回った場合に、画像処理モジュール4132における歪補正処理の緊急度が高いと判定する。そして、CPU43は、画像処理モジュール4132における歪補正処理の緊急度は高くないと判定場合には、画像処理モジュール4132の優先度を変更せず、画像処理モジュール4132における歪補正処理の緊急度が高いと判定した場合に、画像処理モジュール4132の優先度を高くする。これにより、画像処理モジュール4132は、撮像処理画像データを取得する(読み出す)アクセス要求が待たされることなく、リミット時間までに歪補正処理を完了することができる。
 図4には、CPU43が、バスシステム41内のデジタルシグナルプロセッサ412と、画像処理モジュール4131と、画像処理モジュール4132と、画像処理モジュール4133とのそれぞれの処理の進行状況を観測する経路(観測経路)を示している。また、図4には、CPU43が、バスシステム42内のデジタルシグナルプロセッサ421と、画像処理モジュール4223と、画像処理モジュール4224と、画像処理モジュール4225とのそれぞれの処理の進行状況を観測する経路(観測経路)を示している。なお、図4には、CPU43が観測したバスシステム41内のそれぞれの処理ブロックにおける処理の進行状況の情報をバスシステム42内のバス調停部423に通知する経路(通知経路)も示している。なお、本発明においては、CPU43がそれぞれの処理ブロックにおける処理の進行状況を観測する方法や通知する方法に関しては、特に制限はしない。
 ここで、バス調停システム40に備えたそれぞれの構成要素についてより詳細に説明する。バス調停システム40は、バスシステム41とバスシステム42との2つのバスシステムを含んで構成されている。
 なお、図4においても、図1に示した第1の実施形態におけるバス調停システム20と同様に、バスシステム41とバスシステム42とのそれぞれが、DRAM(DRAM216またはDRAM225)も含めた構成である場合を示しているが、バス調停システム40の構成は、第1の実施形態におけるバス調停システム20と同様に、図4に示した構成に限定されるものではない。つまり、バス調停システム40も、第1の実施形態におけるバス調停システム20と同様に、2つのシステムLSIを含んだ構成としてもよいし、1つのシステムLSIとして構成してもよい。
 以下の説明においては、図1に示した第1の実施形態におけるバス調停システム20と同様に、バス調停システム40内のバスシステム41とバスシステム42とが1つのシステムLSIで構成されるものとして説明する。なお、バス調停システム40も、DRAM216とDRAM225とのそれぞれが、バスシステム41とバスシステム42とが構成された1つのシステムLSIの外部に配置され、対応するデータバスに接続される構成となる。しかし、以下の説明においても、図1に示した第1の実施形態におけるバス調停システム20と同様に、説明を容易にするため、DRAM216がバスシステム41に含まれる構成要素であり、DRAM225がバスシステム42に含まれる構成要素であるものとして説明する。
 CPU43は、第1の実施形態におけるバス調停システム20に備えたCPU23と同様に、バス調停システム40に備えたそれぞれの構成要素を制御することによって、バス調停システム40の全体を制御する制御部である。また、CPU43は、上述したように、バスシステム41およびバスシステム42に備えたそれぞれの処理ブロックがDRAM216やDRAM225にアクセスする際の優先度を制御する優先制御部でもある。CPU43も、第1の実施形態におけるバス調停システム20に備えたCPU23と同様に、それぞれの構成要素を制御するためのプログラムやデータに応じて、バス調停システム40の全体を制御する。ただし、CPU43は、上述したように、それぞれの処理ブロックにおける処理の進行状況を観測して優先度を動的に変更するため、第1の実施形態におけるバス調停システム20に備えたCPU23とは異なるプログラムによって動作する。
 バスシステム41は、撮像処理部411と、デジタルシグナルプロセッサ412と、画像処理部413内の画像処理モジュール4131、画像処理モジュール4132、および画像処理モジュール4133と、表示処理部419とによって、撮像装置2における画像処理をする処理機能を実現する。また、バスシステム42は、デジタルシグナルプロセッサ421と、画像処理部422内の画像処理モジュール4223、画像処理モジュール4224、および画像処理モジュール4225とによって、撮像装置2における画像処理の処理機能を実現する。
 バス調停システム40に備えたそれぞれの処理ブロックは、第1の実施形態におけるバス調停システム20に備えた対応する処理ブロックと同様の動作をする。より具体的には、バスシステム41では、撮像処理部411が撮像処理部211と同様の動作をし、デジタルシグナルプロセッサ412がデジタルシグナルプロセッサ212と同様の動作をし、画像処理部413が画像処理部213と同様の動作をし、表示処理部419が表示処理部219と同様の動作をする。また、バスシステム42では、デジタルシグナルプロセッサ421がデジタルシグナルプロセッサ221と同様の動作をし、画像処理部422が画像処理部222と同様の動作をする。以下の説明においては、バス調停システム40に備えたそれぞれの処理ブロックの動作において、第1の実施形態におけるバス調停システム20に備えた対応する処理ブロックと同様の動作に関する詳細な説明は省略し、第1の実施形態におけるバス調停システム20に備えた対応する処理ブロックと異なる動作や処理についてのみを説明する。
 画像処理部413および画像処理部422は、第1の実施形態におけるバス調停システム20に備えた対応する画像処理部213および画像処理部222と同様に、対応するDRAMに記憶された撮像処理画像データに対して予め定めた画像処理を施す。より具体的には、画像処理部413内の画像処理モジュール4131、画像処理モジュール4132、および画像処理モジュール4133と、画像処理部422内の画像処理モジュール4223、画像処理モジュール4224、および画像処理モジュール4225とのそれぞれが、対応するDRAMに記憶された撮像処理画像データ(中間的な画像処理画像データも含む)に対して予め定めた画像処理を施す。画像処理モジュール4131、画像処理モジュール4132、画像処理モジュール4133、画像処理モジュール4223、画像処理モジュール4224、および画像処理モジュール4225とのそれぞれは、対象のデータに対して予め定めた単一の画像処理を施す処理ブロックである。つまり、それぞれの画像処理モジュールは、例えば、ノイズ除去処理、YC(輝度色差)変換処理、歪補正処理、動き検出処理、リサイズ処理、JPEG圧縮処理などの静止画像圧縮処理、MPEG圧縮処理やH.264圧縮処理などの動画像圧縮処理などの表示用や記録用の種々の画像処理のうち、いずれかの画像処理を対象のデータに対して施す。なお、本発明においては、それぞれの画像処理モジュールが対象のデータに対して施す画像処理に関しては、特に制限はしない。なお、それぞれの画像処理モジュールは、不図示の記録媒体に記録された記録画像のデータに対して、例えば、JPEG伸張処理などの静止画像伸張処理、MPEG伸張処理やH.264伸張処理などの動画像伸張処理などのうち、いずれかの画像処理をしてもよい。
 画像処理部413および画像処理部422では、それぞれの画像処理モジュールが画像処理を施す対象のデータを取得する(読み出す)際と、画像処理して生成した後の画像のデータ(画像処理画像データを含む)を記憶させる(書き込む)際とのそれぞれにおいて対応するDRAMにアクセスする。なお、それぞれの画像処理モジュールにおけるDRAMへのアクセス方法は、第1の実施形態におけるバス調停システム20に備えた対応する画像処理部213および画像処理部222と同様であるため、詳細な説明は省略する。
 バス調停システム40でも、第1の実施形態におけるバス調停システム20と同様に、画像処理部413と画像処理部422とで連携または分担して、撮像処理画像データに対して一連の画像処理や拡張した画像処理を施すことができる。このとき、画像処理部413と画像処理部422とは、第1の実施形態におけるバス調停システム20と同様に、撮像処理画像データに対して一連または拡張した画像処理を施す途中の画像処理画像データを、互いに対応するデータバス(データバス210およびデータバス220)を経由せずに、連携するデータを直接やり取りすることができる。
 ところで、画像処理部413および画像処理部422では、それぞれの画像処理モジュールが、直列(例えば、数珠つなぎ)に接続されている。このため、画像処理部413および画像処理部422では、それぞれの画像処理部に備えた画像処理モジュールによって、パインプラン処理でそれぞれの画像処理をする。より具体的には、画像処理部413では、画像処理モジュール4131、画像処理モジュール4132、および画像処理モジュール4133が直列に接続されたパインプラン処理で予め定めた画像処理を施す。また、画像処理部422では、画像処理モジュール4223、画像処理モジュール4224、および画像処理モジュール4225が直列に接続されたパインプラン処理で予め定めた画像処理を施す。
 そして、画像処理部413には、画像処理モジュール4131、画像処理モジュール4132、および画像処理モジュール4133のいずれかから出力された画像のデータを選択して画像処理部413からの画像のデータとして出力するセレクタ4134と、入力された画像のデータを選択して画像処理モジュール4131、画像処理モジュール4132、および画像処理モジュール4133のいずれかに出力するセレクタ4135とを備えている。また、画像処理部422には、入力された画像のデータを選択して画像処理モジュール4223、画像処理モジュール4224、および画像処理モジュール4225のいずれかに出力するセレクタ4221と、画像処理モジュール4223、画像処理モジュール4224、および画像処理モジュール4225のいずれかから出力された画像のデータを選択して画像処理部422からの画像のデータとして出力するセレクタ4222とを備えている。この構成によって、画像処理部413と画像処理部422とのそれぞれは、画像処理部413と画像処理部422との間で連携または分担して一連の画像処理や拡張した画像処理を施すことができる。つまり、画像処理部413と画像処理部422とのそれぞれは、パインプラン処理におけるいずれの位置にでも、他方の画像処理部による画像処理を組み込むことができる。
 例えば、画像処理部413内の画像処理モジュール4131と画像処理モジュール4132との間に、画像処理部422内の画像処理モジュール4224による画像処理を組み込むことができる。この場合、画像処理部413では、セレクタ4134が、画像処理モジュール4131が出力した画像のデータを選択して出力し、バス調停部417、バスコントローラ218、バスコントローラ227、およびバス調停部426を経由して画像処理部422に直接出力する。そして、画像処理部422では、セレクタ4221が、入力された画像のデータを画像処理モジュール4224に出力する。また、画像処理部422では、セレクタ4222が、画像処理モジュール4224が出力した画像のデータを選択して出力し、バス調停部426、バスコントローラ227、バスコントローラ218、およびバス調停部417を経由して画像処理部413に直接出力する。そして、画像処理部413は、セレクタ4135が、入力された画像のデータを画像処理モジュール4131に出力する。これにより、画像処理部413では、画像処理モジュール4132が、画像処理部422内の画像処理モジュール4224が出力した画像のデータに対して続きの画像処理を施すことができる。
 バス調停システム40においてそれぞれの処理ブロックは、優先度設定用のレジスタを備えている。それぞれの優先度設定用のレジスタには、CPU43が撮像装置2の動作モードに基づいて決定した初期値の優先度や、CPU43が観測した処理の進行状況に基づいて動的に変更した優先度が設定される。図4には、バスシステム41内の撮像処理部411に備えたレジスタ411Rと、デジタルシグナルプロセッサ412に備えたレジスタ412Rと、画像処理モジュール4131に備えたレジスタ4131Rと、画像処理モジュール4132に備えたレジスタ4132Rと、画像処理モジュール4133に備えたレジスタ4133Rと、表示処理部419に備えたレジスタ419Rとのそれぞれの優先度設定用のレジスタにCPU43が決定または動的に変更した優先度を設定する経路(優先度設定経路)を示している。また、図4には、バスシステム42内のデジタルシグナルプロセッサ421に備えたレジスタ421Rと、画像処理モジュール4223に備えたレジスタ4223Rと、画像処理モジュール4224に備えたレジスタ4224Rと、画像処理モジュール4225に備えたレジスタ4225Rとのそれぞれの優先度設定用のレジスタにCPU43が決定または動的に変更した優先度を設定する経路(優先度設定経路)を示している。なお、図4には、バス調停部417が対応するアクセス要求の優先度と、バス調停部426が対応するアクセス要求の優先度とのそれぞれを、バス調停部417に備えたレジスタ417Rとバス調停部426に備えたレジスタ426Rとのそれぞれに設定する経路(優先度設定経路)も示している。
 そして、バス調停システム40においてそれぞれの処理ブロックは、CPU43によって設定された優先度を対応するバス調停部に出力する。図4には、バスシステム41において、撮像処理部411と、デジタルシグナルプロセッサ412と、画像処理モジュール4131と、画像処理モジュール4132と、画像処理モジュール4133と、バス調停部417と、表示処理部419とのそれぞれが、優先度設定用のレジスタに設定されている優先度を対応するバス調停部414に出力する経路(優先度出力経路)を示している。また、図4には、バスシステム42において、デジタルシグナルプロセッサ421と、画像処理モジュール4223と、画像処理モジュール4224と、画像処理モジュール4225と、バス調停部426とのそれぞれが、変更した優先度を対応するバス調停部423に出力する経路(優先度出力経路)を示している。
 バス調停部414およびバス調停部423は、第1の実施形態におけるバス調停システム20に備えた対応するバス調停部214およびバス調停部223と同様に、対応するデータバスに接続されているそれぞれの処理ブロックからのDRAMへのアクセス要求を調停し、いずれかの処理ブロックからのDRAMへのアクセス要求を受け付ける。なお、バス調停システム40でも、第1の実施形態におけるバス調停システム20と同様に、バス調停部417やバス調停部426も、対応するDRAMへのアクセス要求を調停する対象の処理ブロックとする。従って、バス調停部414は、データバス210に接続されている撮像処理部411、デジタルシグナルプロセッサ412、画像処理部413、表示処理部419、およびバス調停部417からのDRAM216へのアクセス要求を調停して受け付ける。また、バス調停部423は、データバス220に接続されているデジタルシグナルプロセッサ421、画像処理部422、およびバス調停部426からのDRAM225へのアクセス要求を調停して受け付ける。
 バス調停部414およびバス調停部423は、第1の実施形態におけるバス調停システム20に備えた対応するバス調停部214およびバス調停部223と同様に、対応するそれぞれの処理ブロックの優先度に基づいて、アクセス要求を出力してきたそれぞれの処理ブロックの中から、対応するDRAMへのアクセス要求を受け付ける(許可する)処理ブロックを決定する。ただし、バス調停システム40では、バス調停部414およびバス調停部423がアクセス要求を受け付ける(許可する)処理ブロックを決定するための優先度が、それぞれの処理ブロックから出力される。このため、バス調停部414およびバス調停部423は、対応する処理ブロックの優先度を設定するための優先度設定用のレジスタを備えていない。バス調停部414は、図4に示した変更した優先度が出力される経路(優先度出力経路)で対応する処理ブロックから出力された優先度に基づいて、アクセス要求を出力してきた処理ブロックの中から、DRAM216へのアクセス要求を受け付ける(許可する)処理ブロックを決定する。また、バス調停部423は、図4に示した変更した優先度が出力される経路(優先度出力経路)で対応する処理ブロックから出力された優先度に基づいて、アクセス要求を出力してきた処理ブロックの中から、DRAM225へのアクセス要求を受け付ける(許可する)処理ブロックを決定する。
 これにより、アクセス要求が受け付けられた(許可された)処理ブロックは、対応するDRAMへのアクセス(データの読み出しや書き込み)をする。
 また、バス調停部414およびバス調停部423は、第1の実施形態におけるバス調停システム20に備えた対応するバス調停部214およびバス調停部223と同様に、対応するデータバスを経由して、アクセス要求を受け付けた(許可した)処理ブロックとの間でデータの受け渡しをする。より具体的には、バス調停部414は、アクセス要求を受け付けた処理ブロック(データバス210に接続されている撮像処理部411と、デジタルシグナルプロセッサ412と、画像処理部413内の画像処理モジュール4131、画像処理モジュール4132、および画像処理モジュール4133と、表示処理部419と、バス調停部417との内、いずれか1つの処理ブロック)とメモリ制御部215との間で、データバス210を経由した上述したデータの受け渡しをする。また、バス調停部423は、アクセス要求を受け付けた処理ブロック(データバス220に接続されているデジタルシグナルプロセッサ421と、画像処理部422内の画像処理モジュール4223と、画像処理モジュール4224と、および画像処理モジュール4225と、バス調停部426との内、いずれか1つの処理ブロック)とメモリ制御部224との間で、データバス220を経由した上述したデータの受け渡しをする。
 なお、バス調停部414およびバス調停部423におけるアクセス要求の調停の動作や、データの受け渡しの動作は、既存のバスアービタ(いわゆる、DMA調停回路)の動作と同様である。つまり、バス調停部414およびバス調停部423が対応する処理ブロックから出力された優先度に基づいて対応するDRAMへのアクセス要求を調停してデータの受け渡しをする動作は、既存のバスアービタ(いわゆる、DMA調停回路)の技術に基づいて容易に考えることができる。従って、バス調停部414およびバス調停部423におけるアクセス要求の調停の動作やデータの受け渡しの動作に関する詳細な説明は、省略する。
 バス調停部417およびバス調停部426は、第1の実施形態におけるバス調停システム20に備えた対応するバス調停部217およびバス調停部226と同様に、対応する画像処理部からの他方のバスシステムの画像処理部への直接のアクセス要求、および対応するデータバスに接続されているそれぞれの処理ブロックからの他方のバスシステムのDRAMへのアクセス要求を調停し、いずれか一方のアクセス要求を受け付ける。そして、バス調停部417およびバス調停部426は、第1の実施形態におけるバス調停システム20に備えた対応するバス調停部217およびバス調停部226と同様に、受け付けたアクセス要求とこのアクセス要求に対応するデータとを、対応するバスコントローラに出力(転送)する。
 また、バス調停部417およびバス調停部426は、第1の実施形態におけるバス調停システム20に備えた対応するバス調停部217およびバス調停部226と同様に、他方のバスシステムの画像処理部からの対応する画像処理部への直接のアクセス要求、および他方のバスシステムに備えたそれぞれの処理ブロックからの対応するデータバスを経由したDRAMへのアクセス要求を受け付ける。バス調停部417およびバス調停部426は、受け付けたアクセス要求とこのアクセス要求に対応するデータとを、対応する画像処理部、または対応するバス調停部に出力(転送)する。
 なお、バス調停部417およびバス調停部426におけるアクセス要求の調停の動作や、データの受け渡しの動作は、第1の実施形態におけるバス調停システム20に備えた対応するバス調停部217およびバス調停部226と同様に考えることができる。従って、バス調停部417およびバス調停部426におけるアクセス要求の調停の動作やデータの受け渡しの動作に関する詳細な説明は、省略する。
 このような構成によって、撮像装置2は、イメージセンサ10によって被写体の静止画像や動画像を撮影し、撮影した静止画像や動画像に応じた表示画像を表示デバイス30に表示させる。また、撮像装置2は、イメージセンサ10によって撮影した静止画像や動画像に応じた記録画像を、不図示の記録媒体に記録させることもできる。
 また、撮像装置2では、バス調停システム40内のCPU43と、バスシステム41内のバス調停部414およびバス調停部417と、バスシステム42内のバス調停部423およびバス調停部426とで、第2の実施形態のバス調停装置を構成する。つまり、2つのデータバス(データバス210およびデータバス220)が設けられた構成の第2の実施形態のバス調停システム40のシステムにおいて、それぞれのデータバスに接続された処理ブロックの優先度を整合させてメモリへのアクセスを調停する第2の実施形態のバス調停装置が構成される。
 そして、第2の実施形態のバス調停装置では、CPU43が、撮像装置2の動作モードに基づいて決定した初期値の優先度をそれぞれの処理ブロックに備えた優先度設定用のレジスタに設定し、その後、それぞれの処理ブロックにおける処理の進行状況を観測して優先度を動的に変更する。また、第2の実施形態のバス調停装置では、それぞれの処理ブロックが、CPU43によって設定された優先度を対応するバス調停部に出力する。これにより、第2の実施形態のバス調停装置では、バス調停部414およびバス調停部417と、バス調停部423およびバス調停部426とのそれぞれが、対応するそれぞれの処理ブロックから出力された優先度に基づいて、対応するデータバスに接続されたそれぞれの処理ブロックからのメモリへのアクセス要求を受け付ける(許可する)。これにより、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40では、それぞれのデータバスごとに、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。このことにより、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40では、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるデータの流れ、つまり、データバスのバス帯域を確保することができる。
 このことにより、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40では、それぞれのデータに対して滞りなく処理をすることができ、第2の実施形態のバス調停システム40を搭載した撮像装置2のシステム全体としてのデータの処理時間を保証することができる。
 ここで、バス調停システム40において、バスシステム41およびバスシステム42に備えたそれぞれの処理ブロックによるDRAM216やDRAM225へのアクセス要求の制御の一例について説明する。つまり、CPU43が、バスシステム41およびバスシステム42に備えたそれぞれの処理ブロックの優先度を動的に変更する制御の一例について説明する。上述したように、CPU43は、撮像装置2の動作モードに基づいて決定した初期値の優先度をそれぞれの処理ブロックに備えた優先度設定用のレジスタに設定した後、それぞれの処理ブロックにおける処理の進行状況を観測し、それぞれの処理ブロックがメモリにアクセスする際の優先度を動的に変更する。
 図5は、本発明の第2の実施形態のバス調停装置においてメモリ(DRAM216またはDRAM225)へのアクセス要求を調停する際の優先度の一例を示した図である。図5には、CPU43が観測した処理の進行状況が異なる3つの状態(第1状態、第2状態、および第3状態)である場合において、それぞれの処理ブロックに備えた優先度設定用のレジスタに設定する優先度を動的に変更する一例を示している。図5は、画像処理モジュール4131が1フレーム分の欠陥画素補正をし、画像処理モジュール4132が樽型歪みの歪補正処理をし、画像処理モジュール4133と画像処理モジュール4225とで画像を半分ずつに分けて加工処理をする場合において、処理に必要なデータ量が変動する歪補正処理の進行状況に応じて優先度を動的に変更する場合の優先度の一例を示している。
 より具体的には、図5の(a)には、CPU43が、バス調停部414が対応するデータバス210に接続されている撮像処理部411、表示処理部419、デジタルシグナルプロセッサ412、画像処理部413内の画像処理モジュール4131、画像処理モジュール4132、画像処理モジュール4133、およびバス調停部417からのDRAM216へのアクセス要求を調停するためにそれぞれの処理ブロックの優先度設定用のレジスタに設定する優先度の一例を示している。また、図5の(b)には、CPU43が、バス調停部417が対応する画像処理部413からのバスシステム42に備えた画像処理部422への直接のアクセス要求と、撮像処理部411、表示処理部419、デジタルシグナルプロセッサ412、画像処理モジュール4131、画像処理モジュール4132、および画像処理モジュール4133からのバスシステム42に備えたDRAM225へのデータバス210経由でのアクセス要求とを調停するためにそれぞれの処理ブロックの優先度設定用のレジスタに設定する優先度の一例を示している。また、図5の(c)には、CPU43が、バス調停部423が対応するデータバス220に接続されているデジタルシグナルプロセッサ421、画像処理部422内の画像処理モジュール4223、画像処理モジュール4224、画像処理モジュール4225、およびバス調停部426からのDRAM225へのアクセス要求を調停するためにそれぞれの処理ブロックの優先度設定用のレジスタに設定する優先度の一例を示している。また、図5の(d)には、CPU43が、バス調停部426が対応する画像処理部422からのバスシステム41に備えた画像処理部413への直接のアクセス要求と、デジタルシグナルプロセッサ421、画像処理モジュール4223、画像処理モジュール4224、および画像処理モジュール4225からのバスシステム41に備えたDRAM216へのデータバス220経由でのアクセス要求とを調停するためにそれぞれの処理ブロックの優先度設定用のレジスタに設定する優先度の一例を示している。
 なお、図5でも、第1の実施形態におけるバス調停システム20での優先度の制御(図2参照)と同様に、それぞれの処理ブロックに備えた優先度設定用のレジスタに設定する優先度が3段階である場合の一例を示している。より具体的には、図5に示した「高」は優先度が高いことを表し、「中」は優先度が中程度であることを表し、「低」は優先度が低いことを表している。
 図5に示した第1状態は、画像処理モジュール4132が画像の上端の歪補正処理をしている状態である。また、第2状態は、画像処理モジュール4132が画像の中央の歪補正処理をしている状態である。また、第3状態は、画像処理モジュール4132が画像の下端の歪補正処理をしている状態である。上述したように、歪補正処理では、画像の上端または下端に対して処理をするときには、画像の中央の歪補正処理をするときよりも、より多くの撮像処理画像データを用いることとなる。このため、画像処理モジュール4132が処理に用いる撮像処理画像データをDRAM216から取得する(読み出す)データ量が多くなる。このため、CPU43は、図5の(a)に示したように、第1状態と第3状態とのときに、画像処理モジュール4132の優先度を、第2状態のときよりも高くする。より具体的には、第1状態と第3状態とにおける画像処理モジュール4132の優先度を「中」に設定し、第2状態における画像処理モジュール4132の優先度を「低」に設定する。このように、第2の実施形態のバス調停装置では、CPU43が観測したそれぞれの処理ブロックにおける処理の進行状況に基づいて、それぞれの処理ブロックの優先度を動的に変更する。
 なお、CPU43は、同様の考え方によって、画像処理モジュール4132以外の処理ブロックの優先度も、観測したそれぞれの処理ブロックにおける処理の進行状況に基づいて動的に変更する。図5の(a)には、第1状態において、撮像処理部411の優先度を「高」、表示処理部419の優先度を「高」、デジタルシグナルプロセッサ412の優先度を「中」、画像処理モジュール4131の優先度を「中」、画像処理モジュール4133の優先度を「低」、バス調停部417の優先度を「低」に設定した場合を示している。また、図5の(a)には、第2状態および第3状態において、撮像処理部411の優先度を「高」、表示処理部419の優先度を「高」、デジタルシグナルプロセッサ412の優先度を「低」、画像処理モジュール4131の優先度を「中」、画像処理モジュール4133の優先度を「低」、バス調停部417の優先度を「中」に設定した場合を示している。
 また、図5の(b)には、第1状態において、画像処理部413からのバスシステム42に備えた画像処理部422への直接のアクセス要求の優先度を「高」、データバス210経由でのバスシステム42に備えたDRAM225へのアクセス要求の優先度を「低」に設定した場合を示している。また、図5の(b)には、第2状態において、画像処理部413からのバスシステム42に備えた画像処理部422への直接のアクセス要求の優先度を「低」、データバス210経由でのバスシステム42に備えたDRAM225へのアクセス要求の優先度を「高」に設定した場合を示している。また、図5の(b)には、第3状態において、画像処理部413からのバスシステム42に備えた画像処理部422への直接のアクセス要求の優先度を「中」、データバス210経由でのバスシステム42に備えたDRAM225へのアクセス要求の優先度を「中」に設定した場合を示している。
 また、図5の(c)には、第1状態において、デジタルシグナルプロセッサ421の優先度を「低」、画像処理モジュール4225の優先度を「低」、バス調停部426の優先度を「中」に設定した場合を示している。また、図5の(c)には、第2状態において、デジタルシグナルプロセッサ421の優先度を「中」、画像処理モジュール4225の優先度を「低」、バス調停部426の優先度を「中」に設定した場合を示している。また、図5の(c)には、第3状態において、デジタルシグナルプロセッサ421の優先度を「中」、画像処理モジュール4225の優先度を「低」、バス調停部426の優先度を「低」に設定した場合を示している。なお、図5の(c)においては、画像処理モジュール4223および画像処理モジュール4224の優先度を設定していない。これは、画像処理モジュール4223および画像処理モジュール4224は、いずれの状態のときも処理をしない(動作させていない)からである。
 また、図5の(d)には、第1状態において、画像処理部422からのバスシステム41に備えた画像処理部413への直接のアクセス要求の優先度を「高」、データバス220経由でのバスシステム41に備えたDRAM216へのアクセス要求の優先度を「低」に設定した場合を示している。また、図5の(d)には、第2状態において、画像処理部422からのバスシステム41に備えた画像処理部413への直接のアクセス要求の優先度を「低」、データバス220経由でのバスシステム41に備えたDRAM216へのアクセス要求の優先度を「高」に設定した場合を示している。また、図5の(d)には、第1状態において、画像処理部422からのバスシステム41に備えた画像処理部413への直接のアクセス要求の優先度を「中」、データバス220経由でのバスシステム41に備えたDRAM216へのアクセス要求の優先度を「中」に設定した場合を示している。
 図5に示した一例のように、CPU43は、観測したそれぞれの処理ブロックにおける処理の進行状況に基づいて、それぞれの処理ブロックの優先度を動的に変更し、それぞれの処理ブロックに備えた優先度設定用のレジスタに設定する。これにより、バス調停システム40では、それぞれの処理ブロックからのメモリ(DRAM216やDRAM225)へのアクセス要求が、処理の進行状況に応じて優先的に受け付けられる(許可される)。これにより、バス調停システム40では、バス調停部414およびバス調停部417と、バス調停部423およびバス調停部426とのそれぞれが、対応するデータバス(データバス210およびデータバス220)ごとに、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。このことにより、バス調停システム40では、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるバス帯域を確保することができる。
 なお、CPU43が、観測したそれぞれの処理ブロックにおける処理の進行状況に基づいてそれぞれの処理ブロックに備えた優先度設定用のレジスタに設定する優先度の動的な変更は、図5に示した一例の組み合わせに限定されるものではない。従って、CPU43は、観測したそれぞれの処理ブロックにおける処理の進行状況に基づいて、適宜最適な優先度の組み合わせに、それぞれの優先度を動的に変更することができる。
 ここで、バス調停システム40の動作の一例について説明する。図6は、本発明の第2の実施形態のバス調停装置を備えたバス調停システム40を搭載した撮像装置2における動作の一例を示した図である。図6には、撮像処理部411が撮像処理を施した撮像処理画像データに対して、画像処理部413内の画像処理モジュール4133と画像処理部422内の画像処理モジュール4225とが連携して画像処理をするとともに、デジタルシグナルプロセッサ412とデジタルシグナルプロセッサ421とが連携して信号処理をする場合の動作の一例を示している。なお、図6には、図3に示した第1の実施形態のバス調停装置を備えたバス調停システム20を搭載した撮像装置1における動作の一例と同様に、バス調停システム40に備えたそれぞれの処理ブロックが対応するデータに対して処理をしている期間など、それぞれの構成要素が動作している期間、およびそれぞれのデータに対するアクセス(書き込みや読み出し)がされている期間を示している。
 まず、CPU43は、撮像装置2の動作モードに基づいて、バス調停システム40に備えたそれぞれの処理ブロックの初期値の優先度を決定し、決定した優先度をバスシステム41内の処理ブロックとバスシステム42内の処理ブロックとのそれぞれに備えた優先度設定用のレジスタに設定する。なお、CPU43における初期値の優先度の設定方法は、第1の実施形態におけるバス調停システム20に備えたCPU23と同様である。つまり、CPU43は、撮像装置2の動作モードが決定し、かつ、それぞれの処理ブロックが動作を開始する前にそれぞれの処理ブロックの初期値の優先度を決定する。そして、CPU43は、決定した初期値の優先度をそれぞれの処理ブロックに備えた優先度設定用のレジスタに設定する。このとき、CPU43は、第1の実施形態におけるバス調停システム20に備えたCPU23と同様に、バスシステム42内のそれぞれの処理ブロックの初期値の優先度を、バスシステム41に備えたバスコントローラ218およびバスシステム42に備えたバスコントローラ227を経由して設定する。
 図6でも、第1の実施形態のバス調停装置を備えたバス調停システム20を搭載した撮像装置1における動作の一例(図3参照)と同様に、バスシステム41に備えたそれぞれの処理ブロックの優先度を、バス調停部414、バス調停部417、バス調停部423およびバス調停部426のそれぞれに設定するものとして示している。なお、撮像装置2では、第1の実施形態のバス調停装置を備えたバス調停システム20を搭載した撮像装置1と同様に、撮像処理部411と表示処理部419とのそれぞれの優先度が最も高く設定されているものとして説明する。
 その後、バス調停システム40において、それぞれの処理ブロックが、それぞれのフレームに対する処理を開始する。なお、バス調停システム40においても、それぞれの処理ブロックの動作は、第1の実施形態のバス調停装置を備えたバス調停システム20に備えたそれぞれの処理ブロックの動作と同様に考えることができる。従って、以下の説明においては、説明を容易にするため、それぞれの処理ブロックの動作に関する詳細な説明は省略する。そして、以下の説明においては、第2の実施形態のバス調停装置を構成するバスシステム41内のバス調停部414およびバス調停部417と、バスシステム42内のバス調停部423およびバス調停部426とのそれぞれにおけるアクセス要求の調停の動作について説明する。
 撮像処理部411は、イメージセンサ10から出力された1フレーム分の画素信号のデータに対して撮像処理を施した撮像処理画像データAをデータバス210に出力し、DRAM216への記憶(書き込み)のアクセス要求をバス調停部414に出力する。
 画像処理部413内の画像処理モジュール4131は、DRAM216に記憶されている撮像処理画像データAを取得する(読み出す)アクセス要求と、取得した撮像処理画像データAに対して画像処理P1を施してデータバス210に出力した画像処理画像データC1のDRAM216への記憶(書き込み)のアクセス要求とをバス調停部414に出力する。画像処理部413内の画像処理モジュール4132は、DRAM216に記憶されている画像処理画像データC1を取得する(読み出す)アクセス要求と、取得した画像処理画像データC1に対して画像処理P2を施してデータバス210に出力した画像処理画像データC2のDRAM216への記憶(書き込み)のアクセス要求とをバス調停部414に出力する。画像処理部413内の画像処理モジュール4133は、DRAM216に記憶されている画像処理画像データC2を取得する(読み出す)アクセス要求と、取得した画像処理画像データC2に対して画像処理P3を施してデータバス210に出力した画像処理画像データC3のDRAM216への記憶(書き込み)のアクセス要求とをバス調停部414に出力する。
 また、画像処理部413内の画像処理モジュール4133は、取得した画像処理画像データC2に対して施す一連の画像処理のうち、一部の画像処理を画像処理部422内の画像処理モジュール4225に施させるために必要な中間的な画像処理画像データや係数などの中間データCiをバス調停部417に出力し、画像処理部422への直接のアクセス要求をバス調停部417に出力する。
 デジタルシグナルプロセッサ412は、DRAM216に記憶されている撮像処理画像データAを取得する(読み出す)アクセス要求と、取得した撮像処理画像データAに対して信号処理(図6においては検出処理)を施してデータバス210に出力した信号処理データBのDRAM216への記憶(書き込み)のアクセス要求とをバス調停部414に出力する。また、デジタルシグナルプロセッサ412は、検出処理を施してDRAM216に記憶させた(書き込んだ)信号処理データBの一部のデータを取得して(読み出して)、画像処理モジュール4225が画像処理を施すために利用する検出データBpとしてDRAM225に転送するためのアクセス要求をバス調停部417に出力する。
 画像処理部422内の画像処理モジュール4225は、バス調停部426から出力された中間データCiに対して画像処理P4を施した画像処理画像データDをバス調停部426に出力し、DRAM216への記憶(書き込み)のアクセス要求をバス調停部426に出力する。また、画像処理部422内の画像処理モジュール4225は、中間データCiに対して画像処理を施す際に、必要に応じてDRAM225に記憶されている検出データBpを取得する(読み出す)アクセス要求をバス調停部423に出力する。
 表示処理部419は、DRAM216に記憶されている表示画像データE(画像処理画像データC3や画像処理画像データD)を取得する(読み出す)アクセス要求をバス調停部414に出力する。そして、表示処理部419は、取得した表示画像データEに対して表示処理を施して表示画像を生成し、生成した表示画像を表示デバイス30に出力して表示させる。
 デジタルシグナルプロセッサ421は、DRAM216に記憶されている前フレームデータF(前のフレームの撮像処理画像データAや、信号処理データB、画像処理画像データC3、画像処理画像データD)を取得して(読み出して)DRAM225に記憶させる(書き込ませる)アクセス要求をバス調停部426に出力する。また、デジタルシグナルプロセッサ421は、DRAM225に記憶されている前フレームデータFを取得する(読み出す)アクセス要求と、取得した前フレームデータFに対して加工処理を施してデータバス220に出力した加工処理データGのDRAM225への記憶(書き込み)のアクセス要求とをバス調停部423に出力する。その後、デジタルシグナルプロセッサ421は、DRAM225に記憶した加工処理データGをDRAM216に記憶させる(書き込む)アクセス要求をバス調停部426に出力する。
 このように、バス調停システム40では、それぞれの処理ブロックが、DRAM216またはDRAM225へのアクセス要求を出力する。そして、バス調停システム40では、バスシステム41に備えたバス調停部414およびバス調停部417と、バスシステム42に備えたバス調停部423およびバス調停部426とのそれぞれが、対応する処理ブロックからのアクセス要求を、それぞれの処理ブロックから出力された優先度に基づいて調停する。より具体的には、バス調停部414は、撮像処理部411からの撮像処理画像データAの記憶(書き込み)と、デジタルシグナルプロセッサ412からの撮像処理画像データAの取得(読み出し)および信号処理データBの記憶(書き込み)と、画像処理モジュール4131からの撮像処理画像データAの取得(読み出し)および画像処理画像データC1の記憶(書き込み)と、画像処理モジュール4132からの画像処理画像データC1の取得(読み出し)および画像処理画像データC2の記憶(書き込み)と、画像処理モジュール4133からの画像処理画像データC2の取得(読み出し)および画像処理画像データC3の記憶(書き込み)と、バス調停部417からの検出データBpや前フレームデータFの取得(読み出し)および画像処理画像データDや加工処理データGの記憶(書き込み)と、表示処理部419からの表示画像データEの取得(読み出し)とのそれぞれのアクセス要求を調停する。また、バス調停部417は、画像処理部413からの中間データCiの画像処理部422への直接の出力と、デジタルシグナルプロセッサ412からの検出データBpの転送と、バスコントローラ218からの画像処理画像データD、前フレームデータF、および加工処理データGの転送とのそれぞれのアクセス要求を調停する。また、バス調停部426は、バスコントローラ227からの中間データCiの画像処理部422への直接の出力と、バスコントローラ227からの検出データBpや前フレームデータFの転送と、画像処理部422からの画像処理画像データDの直接の転送と、デジタルシグナルプロセッサ421からの前フレームデータFや加工処理データGの転送とのそれぞれのアクセス要求を調停する。また、バス調停部423は、バス調停部426からの検出データBpや前フレームデータFの記憶(書き込み)および加工処理データGの取得(読み出し)と、画像処理モジュール4225からの検出データBpの取得(読み出し)と、デジタルシグナルプロセッサ421からの前フレームデータFの取得(読み出し)および加工処理データGの記憶(書き込み)とのそれぞれのアクセス要求を調停する。
 このような動作によって、バス調停システム40では、バスシステム41およびバスシステム42に備えたそれぞれの処理ブロックからのメモリへのアクセス要求を、CPU43と、バス調停部414およびバス調停部417と、バス調停部423およびバス調停部426とで構成される第2の実施形態のバス調停装置が調停する。
 なお、上述したように、バス調停システム40では、CPU43が、それぞれの処理ブロックが処理をしているときの進行状況を観測する。そして、CPU43は、観測したそれぞれの処理ブロックの処理の進行状況に基づいて、それぞれの処理ブロックの優先度を動的に変更する。例えば、CPU43は、予め定めた一定の間隔ごとに、それぞれの処理ブロックの優先度を変更する。図6においては、CPU43が、1フレーム期間ごとの一定の間隔で、観測したそれぞれの処理ブロックの処理の進行状況に基づいて変更した優先度をそれぞれの処理ブロックに備えた優先度設定用のレジスタに設定している状態を示している。これにより、バス調停システム40では、それぞれの処理ブロックが変更された優先度を優先度出力経路で出力し、バス調停部414およびバス調停部417と、バス調停部423およびバス調停部426とのそれぞれは、対応する処理ブロックから出力された優先度に基づいて、アクセス要求を出力してきた処理ブロックの中から、メモリへのアクセス要求を受け付ける(許可する)処理ブロックを決定する。
 このように、第2の実施形態のバス調停装置では、CPU43が、バス調停部414およびバス調停部417と、バス調停部423およびバス調停部426とのそれぞれが対応する処理ブロックにおける処理の進行状況を観測し、観測したそれぞれの処理ブロックにおける処理の進行状況に基づいて、それぞれの処理ブロックの優先度を動的に変更する。これにより、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40では、それぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。このことにより、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40では、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるバス帯域を確保することができる。このことにより、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40では、それぞれの処理ブロックにおけるデータの処理時間を確保し、第2の実施形態のバス調停システム40を搭載した撮像装置2のシステム全体の動作を保証することができる。
 第2の実施形態によれば、優先制御部(CPU23)は、それぞれの処理ブロック(デジタルシグナルプロセッサ212、画像処理モジュール4131、画像処理モジュール4132、画像処理モジュール4133、バス調停部217、デジタルシグナルプロセッサ221、画像処理モジュール4223、画像処理モジュール4224、画像処理モジュール4225、バス調停部226)における処理の進行状況を観測し、観測した結果に基づいて、それぞれの処理ブロックが出力したアクセス要求を受け付ける優先度を制御する、バス調停装置(バス調停装置)が構成される。
 また、第2の実施形態によれば、CPU23は、処理ブロックのそれぞれに優先度を設定(例えば、優先度設定用のレジスタ411R、レジスタ412R、レジスタ4131R、レジスタ4132R、レジスタ4133R、レジスタ417R、レジスタ419R、レジスタ421R、レジスタ4223R、レジスタ4224R、レジスタ4225R、レジスタ426Rに優先度を設定)し、第1のバス調停部(バス調停部414)と第2のバス調停部(バス調停部423)とのそれぞれは、処理ブロックから出力された優先度(例えば、処理ブロックのレジスタに設定された優先度)に基づいて、対応するメモリ(DRAM216またはDRAM225)に対するアクセス要求を受け付ける処理ブロックを決定する、バス調停装置が構成される。
 上述したように、第2の実施形態のバス調停装置では、バス調停システム40内のCPU43が、バス調停システム40を搭載した撮像装置2の動作モードに基づいて、バスシステム41およびバスシステム42内のそれぞれの処理ブロックがメモリにアクセスする際のデータバスのバス帯域を確保するために必要な初期値の優先度を決定してそれぞれの処理ブロックに備えた優先度設定用のレジスタに設定する。その後、CPU43は、それぞれの処理ブロックにおける処理の進行状況を観測して優先度を動的に変更する。また、第2の実施形態のバス調停装置では、バス調停部414およびバス調停部417と、バス調停部423およびバス調停部426とのそれぞれが、対応する処理ブロックから出力された優先度に基づいて、それぞれの処理ブロックによるメモリへのアクセス要求を調停する。これにより、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40では、それぞれのデータバスごとに、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。つまり、第2の実施形態のバス調停装置では、バス調停部414およびバス調停部417と、バス調停部423およびバス調停部426とのそれぞれが、対応する処理ブロックの処理の進行状況によって、処理ブロックに必要なバス帯域が変動する場合でも、それぞれの処理ブロックからのメモリへのアクセス要求が必要以上に待たされることがないように適切に調停することができる。
 このことにより、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40では、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるバス帯域を確保することができる。このことにより、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40では、それぞれのデータに対して滞りなく処理をすることができ、第2の実施形態のバス調停システム40を搭載した撮像装置2のシステム全体としての動作を保証することができる。
 なお、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40では、CPU43が、バスシステム42に備えたそれぞれの処理ブロックの優先度を、バスシステム41に備えたバスコントローラ218およびバスシステム42に備えたバスコントローラ227を経由して設定する場合について説明した。しかし、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40では、バスシステム41とバスシステム42とが1つのシステムLSIで構成されている。このため、第2の実施形態のバス調停装置では、CPU43によるバスシステム42に備えたそれぞれの処理ブロックの優先度の設定は、バスシステム41に備えたバスコントローラ218およびバスシステム42に備えたバスコントローラ227を経由した設定に限定されるものではない。つまり、第2の実施形態のバス調停装置では、CPU43が、バスシステム42に備えたそれぞれの処理ブロックの優先度を、バスシステム41に備えたバスコントローラ218およびバスシステム42に備えたバスコントローラ227を経由せずに、バスシステム42内のそれぞれの処理ブロックに備えた優先度設定用のレジスタに直接設定する構成にしてもよい。
 また、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40では、バスシステム41とバスシステム42とが1つのシステムLSIで構成される場合について説明した。しかし、本発明のバス調停装置を備えたバス調停システムの構成は、1つのシステムLSIの構成に限定されるものではなく、異なる2つのシステムLSIで構成されてもよい。さらに、CPU43も、それぞれのシステムLSIとは異なる構成要素として構成されてもよい。この場合、CPU43は、それぞれのバスシステムに備えた処理ブロックの優先度を、それぞれの処理ブロックに備えた優先度設定用のレジスタに直接設定する構成にしてもよい。つまり、第2の実施形態のバス調停装置では、CPU43が、バスシステム42に備えたそれぞれの処理ブロックの優先度を、バスシステム41に備えたバスコントローラ218およびバスシステム42に備えたバスコントローラ227を経由して設定していたが、バスシステム41と同様に、バスシステム42内のそれぞれの処理ブロックに備えた優先度設定用のレジスタに直接設定する構成にしてもよい。
 なお、第2の実施形態のバス調停装置では、バスシステム41およびバスシステム42内のそれぞれの処理ブロックが、優先度を設定するための優先度設定用のレジスタを備えた構成である場合について説明した。しかし、本発明のバス調停装置においてそれぞれのデータバスに接続される処理ブロックは、優先度を設定するための優先度設定用のレジスタを備えている構成に限定されるものではない。つまり、本発明のバス調停装置がアクセス要求を動的に調停するために優先度の変更に利用する構成は、それぞれの処理ブロックに備える構成に限定されるものではない。
(第3の実施形態)
 次に、本発明の第3の実施形態のバス調停装置について説明する。本発明の第3の実施形態のバス調停装置は、それぞれのデータバスに複数種類の画像処理を施す画像処理部が接続されている場合において、それぞれのデータバスに接続されているメモリへのアクセス要求を調停する構成である。なお、以下の説明においても、本発明の第3の実施形態のバス調停装置が、例えば、静止画用カメラや動画用カメラなどの撮像装置に搭載されている本発明の第3の実施形態のバス調停システムに備えられている場合について説明する。
 図7は、本発明の第3の実施形態におけるバス調停装置を備えたバス調停システムを搭載した撮像装置の概略構成を示したブロック図である。図7に示した第3の実施形態のバス調停装置を備えたバス調停システムを搭載した撮像装置の構成には、図4に示した第2の実施形態のバス調停装置を備えたバス調停システム40を搭載した撮像装置2と同様の構成要素を含んでいる。従って、第3の実施形態のバス調停装置を備えたバス調停システムを搭載した撮像装置の構成要素において、第2の実施形態のバス調停装置を備えたバス調停システム40を搭載した撮像装置2の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。また、図7に示した第3の実施形態のバス調停装置および第3の実施形態のバス調停装置を備えたバス調停システムの構成には、図4に示した第2の実施形態のバス調停装置および第2の実施形態のバス調停装置を備えたバス調停システム40と同様の構成要素を含んでいる。従って、第3の実施形態のバス調停装置および第3の実施形態のバス調停装置を備えたバス調停システムの構成要素において、第2の実施形態のバス調停装置および第2の実施形態のバス調停装置を備えたバス調停システム40の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。
 図7に示した撮像装置3は、イメージセンサ10と、バス調停システム50と、表示デバイス30と、を備えている。また、バス調停システム50は、2つのバスシステム(バスシステム51およびバスシステム52)と、CPU43と、を備えている。
 また、バスシステム51は、撮像処理部411と、デジタルシグナルプロセッサ412と、画像処理部513と、バス調停部414と、メモリ制御部215と、DRAM216と、バス調停部417と、バスコントローラ218と、表示処理部419と、を備えている。また、画像処理部513は、3つの画像処理モジュール画像処理部(画像処理モジュール5131~画像処理モジュール5133)と、2つのセレクタ(セレクタ4134およびセレクタ4135)と、を備えている。撮像処理部411、デジタルシグナルプロセッサ412、画像処理部513、バス調停部417、および表示処理部419のそれぞれは、優先度設定用のレジスタを備えている。より具体的には、撮像処理部411はレジスタ411Rを備え、デジタルシグナルプロセッサ412はレジスタ412Rを備え、画像処理部513はレジスタ513Rを備え、バス調停部417はレジスタ417Rを備え、表示処理部419はレジスタ419Rを備えている。バスシステム51では、撮像処理部411と、デジタルシグナルプロセッサ412と、画像処理部513内の画像処理モジュール5131、画像処理モジュール5132、および画像処理モジュール5133と、バス調停部414と、バス調停部417と、表示処理部419とのそれぞれが、共通のデータバス210に接続されている。
 また、バスシステム52は、デジタルシグナルプロセッサ421と、画像処理部522と、バス調停部423と、メモリ制御部224と、DRAM225と、バス調停部426と、バスコントローラ227と、を備えている。また、画像処理部522は、2つのセレクタ(セレクタ4221およびセレクタ4222)と、3つの画像処理モジュール画像処理部(画像処理モジュール5223~画像処理モジュール5225)と、を備えている。デジタルシグナルプロセッサ421、画像処理部522、およびバス調停部426のそれぞれは、優先度設定用のレジスタを備えている。より具体的には、デジタルシグナルプロセッサ421はレジスタ421Rを備え、画像処理部522はレジスタ522Rを備え、バス調停部426はレジスタ426Rを備えている。バスシステム52では、デジタルシグナルプロセッサ421と、画像処理部522内の画像処理モジュール5223、画像処理モジュール5224、および画像処理モジュール5225と、バス調停部423と、バス調停部426とのそれぞれが、共通のデータバス220に接続されている。
 なお、バス調停システム50も、図4に示した第2の実施形態におけるバス調停システム40と同様に、バスシステム51とバスシステム52との2つのバスシステムを含んで構成されている。そして、図7においても、第2の実施形態におけるバス調停システム40と同様に、バスシステム51とバスシステム52とのそれぞれが、DRAM(DRAM216またはDRAM225)も含めた構成である場合を示しているが、バス調停システム50の構成は、第2の実施形態におけるバス調停システム40と同様に、図7に示した構成に限定されるものではない。つまり、バス調停システム50も、第2の実施形態におけるバス調停システム40と同様に、2つのシステムLSIを含んだ構成としてもよいし、1つのシステムLSIとして構成してもよい。
 以下の説明においては、図4に示した第2の実施形態におけるバス調停システム40と同様に、バス調停システム50内のバスシステム51とバスシステム52とが1つのシステムLSIで構成されるものとして説明する。なお、バス調停システム50も、DRAM216とDRAM225とのそれぞれが、バスシステム51とバスシステム52とが構成された1つのシステムLSIの外部に配置され、対応するデータバスに接続される構成となる。しかし、以下の説明においても、図4に示した第2の実施形態におけるバス調停システム40と同様に、説明を容易にするため、DRAM216がバスシステム51に含まれる構成要素であり、DRAM225がバスシステム52に含まれる構成要素であるものとして説明する。
 撮像装置3も、図4に示した第2の実施形態における撮像装置2と同様の動作をする。そして、撮像装置3では、バス調停システム50、バス調停システム50を構成するバスシステム51やバスシステム52、バスシステム51やバスシステム52に備えたそれぞれの構成要素も、第2の実施形態における撮像装置2の対応する構成要素と同様の動作をする。以下の説明においては、バス調停システム50に備えたそれぞれの構成要素の動作において、第2の実施形態におけるバス調停システム40に備えた対応する構成要素と同様の動作に関する詳細な説明は省略し、第2の実施形態におけるバス調停システム40に備えた対応する構成要素と異なる動作や処理についてのみを説明する。
 なお、バス調停システム50では、バスシステム51に備えた撮像処理部411、デジタルシグナルプロセッサ412、画像処理モジュール5131、画像処理モジュール5132、画像処理モジュール5133、および表示処理部419と、バスシステム52に備えたデジタルシグナルプロセッサ421、画像処理モジュール5223、画像処理モジュール5224、および画像処理モジュール5225とのそれぞれが、バス調停システム50において画像処理をする処理機能を実現する処理ブロックである。
 バス調停システム50では、第2の実施形態におけるバス調停システム40内のバスシステム41に備えた画像処理部413が画像処理部513に代わり、バスシステム42に備えた画像処理部422が画像処理部522に代わっている。
 画像処理部513および画像処理部522は、第2の実施形態におけるバス調停システム40に備えた対応する画像処理部413および画像処理部422と同様に、対応するDRAMに記憶された撮像処理画像データに対して予め定めた画像処理を施す。より具体的には、画像処理部513内の画像処理モジュール5131、画像処理モジュール5132、および画像処理モジュール5133と、画像処理部522内の画像処理モジュール5223、画像処理モジュール5224、および画像処理モジュール5225とのそれぞれが、第2の実施形態におけるバス調停システム40に備えた対応する画像処理部413および画像処理部422内の対応するそれぞれの画像処理モジュールと同様に、予め定めた単一の画像処理をする。なお、本発明においては、それぞれの画像処理モジュールが対象のデータに対して施す画像処理に関しては、特に制限はしない。
 画像処理部513は、画像処理部413と同様の画像処理をし、画像処理部522は画像処理部422と同様の画像処理をする。より具体的には、画像処理部513では、画像処理モジュール5131が、画像処理部413内の画像処理モジュール4131と同様の画像処理をし、画像処理モジュール5132が、画像処理部413内の画像処理モジュール4132と同様の画像処理をし、画像処理モジュール5133が、画像処理部413内の画像処理モジュール4133と画像処理の画像処理をする。ただし、画像処理部513では、画像処理モジュール5131と、画像処理モジュール5132と、画像処理モジュール5133とのそれぞれによる画像処理を、1つの画像処理として考えることができる。つまり、画像処理部513は、全体をまとめて1つの画像処理部(処理ブロック)として考えることができる。このため、第2の実施形態の画像処理部413では、優先度を設定するための優先度設定用のレジスタをそれぞれの画像処理モジュールに備えていたのに対し、画像処理部513では、それぞれの画像処理モジュールに対応するそれぞれの優先度設定用のレジスタをまとめた1つのレジスタ513Rとして備えている。
 また、画像処理部522では、画像処理モジュール5223が、画像処理部413内の画像処理モジュール4223と同様の画像処理をし、画像処理モジュール5224が、画像処理部413内の画像処理モジュール4224と同様の画像処理をし、画像処理モジュール5225が、画像処理部413内の画像処理モジュール4225と同様の画像処理をする。そして、画像処理部522でも、画像処理部513と同様に、画像処理モジュール5223と、画像処理モジュール5224と、画像処理モジュール5225とのそれぞれによる画像処理を、1つの画像処理として考えることができる。つまり、画像処理部522も、画像処理部513と同様に、全体をまとめて1つの画像処理部(処理ブロック)として考えることができる。このため、第2の実施形態の画像処理部422では、優先度を設定するための優先度設定用のレジスタをそれぞれの画像処理モジュールに備えていたのに対し、画像処理部522でも、画像処理部513と同様に、それぞれの画像処理モジュールに対応するそれぞれの優先度設定用のレジスタをまとめた1つのレジスタ522Rとして備えている。
 画像処理部513および画像処理部522内のそれぞれの画像処理モジュールは、個別に優先度設定用のレジスタを備えていない構成である以外は、第2の実施形態におけるバス調停システム40に備えた対応する画像処理部413および画像処理部422内の対応するそれぞれの画像処理モジュールと同様である。従って、画像処理部513および画像処理部522内のそれぞれの画像処理モジュールの動作に関する詳細な説明は、省略する。
 図7に示した撮像装置3でも、バス調停システム50内のCPU43と、バスシステム51内のバス調停部414およびバス調停部417と、バスシステム52内のバス調停部423およびバス調停部426との構成が、第3の実施形態のバス調停装置に相当する。なお、第3の実施形態のバス調停装置は、第2の実施形態のバス調停装置と同様の構成である。
 従って、バス調停システム50でも、第2の実施形態におけるバス調停システム40と同様に、CPU43が、バスシステム51およびバスシステム52に備えたそれぞれの処理ブロックがDRAM216やDRAM225にアクセスする際の優先度を制御する。また、バス調停システム50でも、第2の実施形態におけるバス調停システム40と同様に、CPU43が、撮像装置3の動作モードに基づいてそれぞれの処理ブロックによるDRAM216やDRAM225へのアクセスの優先度を設定した後、それぞれの処理ブロックにおける処理の進行状況を観測し、観測した結果に基づいてそれぞれの処理ブロックの優先度を動的に変更する。
 ただし、バス調停システム50では、上述したように、画像処理部513と画像処理部522とのそれぞれを、1つの処理ブロックとして考えることができる。そして、画像処理部513と画像処理部522とのそれぞれは、1つの優先度設定用のレジスタ(レジスタ513Rまたはレジスタ522R)を備えている。このため、CPU43は、画像処理部513や画像処理部522に備えたそれぞれの画像処理モジュールの優先度を設定する際に、レジスタ513Rやレジスタ522Rに対して対応する画像処理モジュールの優先度を設定する。そして、CPU43は、画像処理部513に備えたそれぞれの画像処理モジュールをまとめて、画像処理部513の単位でそれぞれの画像処理モジュールにおける処理の進行状況を観測する。また、CPU43は、画像処理部522に備えたそれぞれの画像処理モジュールをまとめて、画像処理部522の単位でそれぞれの画像処理モジュールにおける処理の進行状況を観測する。なお、本発明においては、CPU43がそれぞれの処理ブロックにおける処理の進行状況を観測する方法や通知する方法に関しては、特に制限はしない。
 図7には、CPU43が、バスシステム51内のデジタルシグナルプロセッサ412と画像処理部513とのそれぞれの処理の進行状況を観測する経路(観測経路)を示している。また、図7には、CPU43が、バスシステム52内のデジタルシグナルプロセッサ421と画像処理部522とのそれぞれの処理の進行状況を観測する経路(観測経路)を示している。なお、図7には、CPU43が観測したバスシステム51内のそれぞれの処理ブロックにおける処理の進行状況の情報をバスシステム52内のバス調停部423に通知する経路(通知経路)も示している。
 また、図7には、バスシステム51内の撮像処理部411に備えたレジスタ411Rと、デジタルシグナルプロセッサ412に備えたレジスタ412Rと、画像処理部513に備えたレジスタ513Rと、表示処理部419に備えたレジスタ419Rとのそれぞれの優先度設定用のレジスタにCPU43が決定または動的に変更した優先度を設定する経路(優先度設定経路)を示している。また、図7には、バスシステム52内のデジタルシグナルプロセッサ421に備えたレジスタ421Rと、画像処理部522に備えたレジスタ522Rとのそれぞれの優先度設定用のレジスタにCPU43が決定または動的に変更した優先度を設定する経路(優先度設定経路)を示している。また、図7には、バス調停部417が対応するアクセス要求の優先度と、バス調停部426が対応するアクセス要求の優先度とのそれぞれを、バス調停部417に備えたレジスタ417Rとバス調停部426に備えたレジスタ426Rとのそれぞれに設定する経路(優先度設定経路)も示している。
 また、図7には、バスシステム51において、撮像処理部411と、デジタルシグナルプロセッサ412と、画像処理部513と、バス調停部417と、表示処理部419とのそれぞれが、優先度設定用のレジスタに設定されている優先度を対応するバス調停部414に出力する経路(優先度出力経路)を示している。また、図7には、バスシステム52において、デジタルシグナルプロセッサ421と、画像処理部522と、バス調停部426とのそれぞれが、変更した優先度を対応するバス調停部423に出力する経路(優先度出力経路)を示している。
 このような構成によって、撮像装置3でも、第2の実施形態における撮像装置2と同様に、イメージセンサ10によって被写体の静止画像や動画像を撮影し、撮影した静止画像や動画像に応じた表示画像を表示デバイス30に表示させる。また、撮像装置3は、イメージセンサ10によって撮影した静止画像や動画像に応じた記録画像を、不図示の記録媒体に記録させることもできる。
 また、撮像装置3でも、第2の実施形態における撮像装置2と同様に、バス調停システム50内のCPU43と、バスシステム51内のバス調停部414およびバス調停部417と、バスシステム52内のバス調停部423およびバス調停部426とで、第3の実施形態のバス調停装置を構成する。つまり、2つのデータバス(データバス210およびデータバス220)が設けられた構成の第3の実施形態のバス調停システム50のシステムにおいて、それぞれのデータバスに接続された処理ブロックの優先度を整合させてメモリへのアクセスを調停する第3の実施形態のバス調停装置が構成される。
 そして、第3の実施形態のバス調停装置でも、第2の実施形態のバス調停装置と同様に、CPU43が、撮像装置3の動作モードに基づいて決定した初期値の優先度をそれぞれの処理ブロックに備えた優先度設定用のレジスタに設定し、その後、それぞれの処理ブロックにおける処理の進行状況を観測して優先度を動的に変更する。また、第3の実施形態のバス調停装置でも、第2の実施形態のバス調停装置と同様に、それぞれの処理ブロックが、CPU43によって設定された優先度を対応するバス調停部に出力する。これにより、第3の実施形態のバス調停装置でも、第2の実施形態のバス調停装置と同様に、バス調停部414およびバス調停部417と、バス調停部423およびバス調停部426とのそれぞれが、対応するそれぞれの処理ブロックから出力された優先度に基づいて、対応するデータバスに接続されたそれぞれの処理ブロックからのメモリへのアクセス要求を受け付ける(許可する)。これにより、第3の実施形態のバス調停装置を備えた第3の実施形態のバス調停システム50でも、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40と同様に、それぞれのデータバスごとに、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。このことにより、第3の実施形態のバス調停装置を備えた第3の実施形態のバス調停システム50でも、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40と同様に、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるデータの流れ、つまり、データバスのバス帯域を確保することができる。
 このことにより、第3の実施形態のバス調停装置を備えた第3の実施形態のバス調停システム50でも、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40と同様に、それぞれのデータに対して滞りなく処理をすることができ、第3の実施形態のバス調停システム50を搭載した撮像装置3のシステム全体としての動作、つまり、データの処理時間を保証することができる。
 なお、バス調停システム50において、バスシステム51およびバスシステム52に備えたそれぞれの処理ブロックによるDRAM216やDRAM225へのアクセス要求の制御や、バス調停システム50の動作は、第2の実施形態のバス調停システム40と同様に考えることができる。従って、バス調停システム50におけるそれぞれの処理ブロックによるDRAM216やDRAM225へのアクセス要求の制御やバス調停システム50の動作に関する詳細な説明は、省略する。
 上述したように、第3の実施形態のバス調停装置でも、第2の実施形態のバス調停装置と同様に、バス調停システム50内のCPU43が、バス調停システム50を搭載した撮像装置3の動作モードに基づいて、バスシステム51およびバスシステム52内のそれぞれの処理ブロックがメモリにアクセスする際のデータバスのバス帯域を確保するために必要な初期値の優先度を決定してそれぞれの処理ブロックに備えた優先度設定用のレジスタに設定する。その後、CPU43は、それぞれの処理ブロックにおける処理の進行状況を観測して優先度を動的に変更する。また、第3の実施形態のバス調停装置でも、第2の実施形態のバス調停装置と同様に、バス調停部414およびバス調停部417と、バス調停部423およびバス調停部426とのそれぞれが、対応する処理ブロックから出力された優先度に基づいて、それぞれの処理ブロックによるメモリへのアクセス要求を調停する。これにより、第3の実施形態のバス調停装置を備えた第3の実施形態のバス調停システム50でも、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40と同様に、それぞれのデータバスごとに、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。つまり、第3の実施形態のバス調停装置でも、第2の実施形態のバス調停装置と同様に、バス調停部414およびバス調停部417と、バス調停部423およびバス調停部426とのそれぞれが、対応する処理ブロックの処理の進行状況によって、処理ブロックに必要なバス帯域が変動する場合でも、それぞれの処理ブロックからのメモリへのアクセス要求が必要以上に待たされることがないように適切に調停することができる。
 このことにより、第3の実施形態のバス調停装置を備えた第3の実施形態のバス調停システム50でも、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40と同様に、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるバス帯域を確保することができる。このことにより、第3の実施形態のバス調停装置を備えた第3の実施形態のバス調停システム50でも、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40と同様に、それぞれのデータに対して滞りなく処理をすることができ、第3の実施形態のバス調停システム50を搭載した撮像装置3のシステム全体としての動作を保証することができる。
 なお、第3の実施形態のバス調停装置を備えた第3の実施形態のバス調停システム50でも、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40と同様に、CPU43が、バスシステム52に備えたそれぞれの処理ブロックの優先度を、バスシステム51に備えたバスコントローラ218およびバスシステム52に備えたバスコントローラ227を経由して設定する場合について説明した。しかし、第3の実施形態のバス調停装置を備えた第3の実施形態のバス調停システム50でも、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40と同様に、バスシステム51とバスシステム52とが1つのシステムLSIで構成されている。このため、第3の実施形態のバス調停装置でも、第2の実施形態のバス調停装置と同様に、CPU43によるバスシステム52に備えたそれぞれの処理ブロックの優先度の設定は、バスシステム51に備えたバスコントローラ218およびバスシステム52に備えたバスコントローラ227を経由した設定に限定されるものではない。つまり、第3の実施形態のバス調停装置でも、第2の実施形態のバス調停装置と同様に、CPU43が、バスシステム52に備えたそれぞれの処理ブロックの優先度を、バスシステム51に備えたバスコントローラ218およびバスシステム52に備えたバスコントローラ227を経由せずに、バスシステム52内のそれぞれの処理ブロックに備えた優先度設定用のレジスタに直接設定する構成にしてもよい。
 また、第3の実施形態のバス調停装置を備えた第3の実施形態のバス調停システム50でも、第2の実施形態のバス調停装置を備えた第2の実施形態のバス調停システム40と同様に、バスシステム51とバスシステム52とが1つのシステムLSIで構成される場合について説明した。しかし、本発明のバス調停装置を備えたバス調停システムの構成は、1つのシステムLSIの構成に限定されるものではなく、異なる2つのシステムLSIで構成されてもよい。さらに、CPU43も、それぞれのシステムLSIとは異なる構成要素として構成されてもよい。この場合、CPU43は、第2の実施形態のバス調停装置と同様に、それぞれのバスシステムに備えた処理ブロックの優先度を、それぞれの処理ブロックに備えた優先度設定用のレジスタに直接設定する構成にしてもよい。つまり、第3の実施形態のバス調停装置でも、第2の実施形態のバス調停装置と同様に、CPU43が、バスシステム52に備えたそれぞれの処理ブロックの優先度を、バスシステム51に備えたバスコントローラ218およびバスシステム52に備えたバスコントローラ227を経由して設定していたが、バスシステム51と同様に、バスシステム52内のそれぞれの処理ブロックに備えた優先度設定用のレジスタに直接設定する構成にしてもよい。
 なお、第1~第3の実施形態のバス調停装置では、優先制御部として動作するCPUが、バス調停システム内のそれぞれの構成要素に備えた優先度設定用のレジスタに優先度を設定することによって、バス調停システムを構成する2つのバスシステム内のそれぞれのデータバスに接続された処理ブロックによるメモリへのアクセス要求を整合させて調停する構成について説明した。しかし、本発明のバス調停装置においてそれぞれのデータバスに接続された処理ブロックによるメモリへのアクセス要求を整合させて調停する方法は、それぞれの構成要素に備えた優先度設定用のレジスタに優先度を設定する方法に限定されるものではない。つまり、本発明のバス調停装置においてそれぞれの処理ブロックによるメモリへのアクセス要求の優先度を制御する構成は、CPU(優先制御部)と優先度設定用のレジスタとを組み合わせた構成に限定されるものではない。
(第4の実施形態)
 次に、本発明の第4の実施形態のバス調停装置について説明する。本発明の第4の実施形態のバス調停装置は、それぞれのデータバスに複数種類の画像処理を施す処理ブロックが接続されている場合において、それぞれのデータバスに接続されているメモリへのアクセス要求の調停を、それぞれの処理ブロックの優先度を動的に制御する専用の優先制御部が制御する構成である。なお、以下の説明においても、本発明の第4の実施形態のバス調停装置が、例えば、静止画用カメラや動画用カメラなどの撮像装置に搭載されている本発明の第4の実施形態のバス調停システムに備えられている場合について説明する。
 図8は、本発明の第4の実施形態におけるバス調停装置を備えたバス調停システムを搭載した撮像装置の概略構成を示したブロック図である。図8に示した第4の実施形態のバス調停装置を備えたバス調停システムを搭載した撮像装置の構成には、図1に示した第1の実施形態のバス調停装置を備えたバス調停システム20を搭載した撮像装置1と同様の構成要素を含んでいる。従って、第4の実施形態のバス調停装置を備えたバス調停システムを搭載した撮像装置の構成要素において、第1の実施形態のバス調停装置を備えたバス調停システム20を搭載した撮像装置1の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。また、図8に示した第4の実施形態のバス調停装置および第4の実施形態のバス調停装置を備えたバス調停システムの構成には、図1に示した第1の実施形態のバス調停装置および第1の実施形態のバス調停装置を備えたバス調停システム20と同様の構成要素を含んでいる。従って、第4の実施形態のバス調停装置および第4の実施形態のバス調停装置を備えたバス調停システムの構成要素において、第1の実施形態のバス調停装置および第1の実施形態のバス調停装置を備えたバス調停システム20の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。
 図8に示した撮像装置4は、イメージセンサ10と、バス調停システム60と、表示デバイス30と、を備えている。また、バス調停システム60は、2つのバスシステム(バスシステム61およびバスシステム62)と、優先制御部63と、を備えている。
 また、バスシステム61は、撮像処理部211と、画像処理部613と、バス調停部614と、メモリ制御部215と、DRAM216と、バス調停部617と、バスコントローラ218と、表示処理部219と、を備えている。なお、バスシステム61には、第1の実施形態のバス調停装置を備えたバス調停システム20を構成するバスシステム21と同様に、デジタルシグナルプロセッサ212を備えていてもよいが、図8では、説明を容易にするため、デジタルシグナルプロセッサ212を省略している。バスシステム61では、撮像処理部211と、画像処理部613と、バス調停部614と、バス調停部617と、表示処理部219とのそれぞれが、共通のデータバス210に接続されている。
 また、バスシステム62は、画像処理部622と、バス調停部623と、メモリ制御部224と、DRAM225と、バス調停部626と、バスコントローラ227と、を備えている。なお、バスシステム62には、第1の実施形態のバス調停装置を備えたバス調停システム20を構成するバスシステム22と同様に、デジタルシグナルプロセッサ221を備えていてもよいが、図8では、説明を容易にするため、デジタルシグナルプロセッサ221を省略している。バスシステム62では、画像処理部622と、バス調停部623と、バス調停部626とのそれぞれが、共通のデータバス220に接続されている。
 なお、図8に示した撮像装置4では、バス調停システム60内の優先制御部63と、バスシステム61内のバス調停部614およびバス調停部617と、バスシステム62内のバス調停部623およびバス調停部626との構成が、第4の実施形態のバス調停装置に相当する。
 撮像装置4も、図1に示した第1の実施形態における撮像装置1と同様に、イメージセンサ10によって被写体の静止画像または動画像を撮影し、撮影した静止画像または動画像に応じた表示画像を表示デバイス30に表示させる。なお、撮像装置4も、第1の実施形態における撮像装置1と同様に、撮影した静止画像や動画像に応じた記録画像を、不図示の記録媒体に記録させることもできる。
 バス調停システム60は、図1に示した第1の実施形態におけるバス調停システム20と同様に、イメージセンサ10から出力された画素信号に対して予め定めた画像処理をして、静止画像や動画像を生成する。また、バス調停システム60は、第1の実施形態におけるバス調停システム20と同様に、生成した静止画像や動画像に応じた表示画像を生成し、生成した表示画像を表示デバイス30に表示させる。また、バス調停システム60は、第1の実施形態におけるバス調停システム20と同様に、生成した静止画像や動画像に応じた記録画像を生成し、生成した記録画像を不図示の記録媒体に記録させることもできる。
 バス調停システム60では、バスシステム61に備えた撮像処理部211、画像処理部613、および表示処理部219と、バスシステム62に備えた画像処理部622とのそれぞれが、バス調停システム60において画像処理をする処理機能を実現する処理ブロックである。
 バス調停システム60では、バスシステム61に備えた撮像処理部211、画像処理部613、および表示処理部219のそれぞれが、データバス210を経由してDRAM216にアクセスする。また、バス調停システム60では、バスシステム62に備えた画像処理部622が、データバス220を経由してDRAM225にアクセスする。このとき、バス調停システム60でも、第1の実施形態におけるバス調停システム20と同様に、バスシステム61およびバスシステム62に備えたそれぞれの処理ブロックが、例えば、DMA転送によってDRAM216またはDRAM225にアクセスする。
 また、バス調停システム60でも、第1の実施形態におけるバス調停システム20と同様に、バスシステム61とバスシステム62との間で、互いにデータをやり取りすることもできる。このときも、第1の実施形態におけるバス調停システム20と同様に、バスシステム61およびバスシステム62に備えたそれぞれの処理ブロックは、互いのデータバス(データバス210およびデータバス220)を経由して、例えば、DMA転送によってDRAM216やDRAM225にアクセスする。
 また、バス調停システム60でも、第1の実施形態におけるバス調停システム20と同様に、バスシステム61に備えた画像処理部613と、バスシステム62に備えた画像処理部622とのそれぞれが、互いに連携してバス調停システム60における画像処理をすることもできる。このときも、第1の実施形態におけるバス調停システム20と同様に、バスシステム61に備えた画像処理部613とバスシステム62に備えた画像処理部622とは、互いのデータバス(データバス210およびデータバス220)を経由せずに、連携するデータを直接やり取りすることができる。
 バス調停システム60では、優先制御部63が、バスシステム61およびバスシステム62に備えたそれぞれの処理ブロックがDRAM216やDRAM225にアクセスする際の優先度を制御する。このとき、優先制御部63は、それぞれの処理ブロックにおける処理の進行状況を観測し、観測した結果に基づいて、それぞれの処理ブロックがDRAM216やDRAM225にアクセスする際の優先度を動的に制御する。つまり、バス調停システム60では、優先制御部63が、それぞれの処理ブロックによるDRAMへのアクセスが必要以上に待たされることがないように制御する。なお、優先制御部63がそれぞれの処理ブロックの優先度を動的に制御する際の考え方は、第2の実施形態のバス調停装置を構成するCPU43がそれぞれの処理ブロックの優先度を動的に変更する際の考え方と同様である。
 ここで、バス調停システム60に備えたそれぞれの構成要素についてより詳細に説明する。バス調停システム60は、バスシステム61とバスシステム62との2つのバスシステムを含んで構成されている。
 なお、図8においても、図1に示した第1の実施形態におけるバス調停システム20と同様に、バスシステム61とバスシステム62とのそれぞれが、DRAM(DRAM216またはDRAM225)も含めた構成である場合を示しているが、バス調停システム60の構成は、第1の実施形態におけるバス調停システム20と同様に、図8に示した構成に限定されるものではない。つまり、バス調停システム60も、第1の実施形態におけるバス調停システム20と同様に、2つのシステムLSIを含んだ構成としてもよいし、1つのシステムLSIとして構成してもよい。
 以下の説明においては、図1に示した第1の実施形態におけるバス調停システム20と同様に、バス調停システム60内のバスシステム61とバスシステム62とが1つのシステムLSIで構成されるものとして説明する。なお、バス調停システム60も、DRAM216とDRAM225とのそれぞれが、バスシステム61とバスシステム62とが構成された1つのシステムLSIの外部に配置され、対応するデータバスに接続される構成となる。しかし、以下の説明においても、図1に示した第1の実施形態におけるバス調停システム20と同様に、説明を容易にするため、DRAM216がバスシステム61に含まれる構成要素であり、DRAM225がバスシステム62に含まれる構成要素であるものとして説明する。
 優先制御部63は、バスシステム61およびバスシステム62に備えたそれぞれの処理ブロックがDRAM216やDRAM225にアクセスする際の優先度を制御する優先制御部である。優先制御部63は、上述したように、それぞれの処理ブロックにおける処理の進行状況を観測して優先度を動的に制御する。
 図8には、優先制御部63が、バスシステム61内の画像処理部613およびバス調停部617の処理の進行状況を観測する経路(観測経路)を示している。また、図8には、優先制御部63が、バスシステム62内の画像処理部622およびバス調停部626の処理の進行状況を観測する経路(観測経路)を示している。なお、本発明においては、優先制御部63がそれぞれの処理ブロックにおける処理の進行状況を観測する方法に関しては、特に制限はしない。
 また、図8には、優先制御部63が、バスシステム61内のバス調停部614とバス調停部617とのそれぞれが対応する処理ブロックからのアクセス要求を受け付ける(許可する)際の優先度を動的に制御する経路(優先度制御経路)を示している。また、図8には、優先制御部63が、バスシステム62内のバス調停部623とバス調停部626とのそれぞれが対応する処理ブロックからのアクセス要求を受け付ける(許可する)際の優先度を制御する経路(優先度制御経路)を示している。なお、本発明においては、優先制御部63がそれぞれのバス調停部が受け付ける(許可する)アクセス要求を制御する方法に関しては、特に制限はしない。
 バスシステム61は、撮像処理部211と、画像処理部613と、表示処理部219とによって、撮像装置4における画像処理をする処理機能を実現する。バス調停システム60では、画像処理部613が、第1の実施形態におけるバス調停システム20に備えた画像処理部213と同様の画像処理をする。また、バスシステム62は、画像処理部622によって、撮像装置4における画像処理の処理機能を実現する。バスシステム62では、画像処理部622が、第1の実施形態におけるバス調停システム20に備えた画像処理部222と同様の画像処理をする。
 画像処理部613および画像処理部622は、第1の実施形態におけるバス調停システム20に備えた対応する画像処理部213および画像処理部222と同様に、対応するDRAMに記憶された撮像処理画像データに対して予め定めた画像処理を施す。なお、画像処理部613と画像処理部622とのそれぞれにおいて画像処理をする構成は、第2の実施形態のバス調停システム40に備えた画像処理部413や画像処理部422と同様の構成であってもよい。つまり、画像処理部613と画像処理部622とのそれぞれは、複数の画像処理モジュールによって画像処理をする構成であってもよい。なお、本発明においては、画像処理部613および画像処理部622が撮像処理画像データに対して施す画像処理に関しては、特に制限はしない。
 画像処理部613および画像処理部622は、画像処理を施す対象の撮像処理画像データを取得する(読み出す)際と、画像処理して生成した後の画像処理画像データを記憶させる(書き込む)際とのそれぞれにおいて対応するDRAMにアクセスする。なお、画像処理部613および画像処理部622におけるDRAMへのアクセス方法は、第1の実施形態におけるバス調停システム20に備えた対応する画像処理部213および画像処理部222と同様であるため、詳細な説明は省略する。
 バス調停システム60でも、第1の実施形態におけるバス調停システム20と同様に、画像処理部613と画像処理部622とで連携または分担して、撮像処理画像データに対して一連の画像処理や拡張した画像処理を施すことができる。このとき、画像処理部613と画像処理部622とは、第1の実施形態におけるバス調停システム20と同様に、撮像処理画像データに対して一連または拡張した画像処理を施す途中の画像処理画像データを、互いに対応するデータバス(データバス210およびデータバス220)を経由せずに、連携するデータを直接やり取りすることができる。
 また、バス調停システム60では、上述したように、優先制御部63が、画像処理部613および画像処理部622における処理の進行状況を観測する。このため、画像処理部613と画像処理部622とのそれぞれは、観測経路で、現在の処理の進行状況の情報を、優先制御部63に通知する。
 バス調停部614およびバス調停部623は、第1の実施形態におけるバス調停システム20に備えた対応するバス調停部214およびバス調停部223と同様に、対応するデータバスに接続されているそれぞれの処理ブロックからのDRAMへのアクセス要求を調停し、いずれかの処理ブロックからのDRAMへのアクセス要求を受け付ける。なお、バス調停システム60でも、第1の実施形態におけるバス調停システム20と同様に、バス調停部617やバス調停部626も、対応するDRAMへのアクセス要求を調停する対象の処理ブロックとする。従って、バス調停部614は、データバス210に接続されている撮像処理部211、画像処理部613、表示処理部219、およびバス調停部617からのDRAM216へのアクセス要求を調停して受け付ける。また、バス調停部623は、データバス220に接続されている画像処理部622およびバス調停部626からのDRAM225へのアクセス要求を調停して受け付ける。
 バス調停部614およびバス調停部623は、優先制御部63から優先度制御経路で制御された優先度に基づいて、アクセス要求を出力してきたそれぞれの処理ブロックの中から、対応するDRAMへのアクセス要求を受け付ける(許可する)処理ブロックを決定する。なお、バス調停部614およびバス調停部623は、アクセス要求を受け付ける(許可する)処理ブロックを決定するための優先度が、優先制御部63によって動的に制御される。
 これにより、アクセス要求が受け付けられた(許可された)処理ブロックは、対応するDRAMへのアクセス(データの読み出しや書き込み)をする。
 また、バス調停部614およびバス調停部623は、第1の実施形態におけるバス調停システム20に備えた対応するバス調停部214およびバス調停部223と同様に、対応するデータバスを経由して、アクセス要求を受け付けた(許可した)処理ブロックとの間でデータの受け渡しをする。
 なお、バス調停部614およびバス調停部623におけるアクセス要求の調停の動作や、データの受け渡しの動作は、第1の実施形態におけるバス調停システム20に備えた対応するバス調停部214およびバス調停部223と同様である。つまり、バス調停部614およびバス調停部623が優先制御部63によって制御された優先度に基づいて対応するDRAMへのアクセス要求を調停してデータの受け渡しをする動作は、既存のバスアービタ(いわゆる、DMA調停回路)の技術に基づいて容易に考えることができる。従って、バス調停部614およびバス調停部623におけるアクセス要求の調停の動作やデータの受け渡しの動作に関する詳細な説明は、省略する。
 バス調停部617およびバス調停部626は、第1の実施形態におけるバス調停システム20に備えた対応するバス調停部217およびバス調停部226と同様に、対応する画像処理部からの他方のバスシステムの画像処理部への直接のアクセス要求、および対応するデータバスに接続されているそれぞれの処理ブロックからの他方のバスシステムのDRAMへのアクセス要求を調停し、いずれか一方のアクセス要求を受け付ける。そして、バス調停部617およびバス調停部626は、第1の実施形態におけるバス調停システム20に備えた対応するバス調停部217およびバス調停部226と同様に、受け付けたアクセス要求とこのアクセス要求に対応するデータとを、対応するバスコントローラに出力(転送)する。
 また、バス調停部617およびバス調停部626は、第1の実施形態におけるバス調停システム20に備えた対応するバス調停部217およびバス調停部226と同様に、他方のバスシステムの画像処理部からの対応する画像処理部への直接のアクセス要求、および他方のバスシステムに備えたそれぞれの処理ブロックからの対応するデータバスを経由したDRAMへのアクセス要求を受け付ける。バス調停部617およびバス調停部626は、受け付けたアクセス要求とこのアクセス要求に対応するデータとを、対応する画像処理部、または対応するバス調停部に出力(転送)する。
 バス調停部617およびバス調停部626は、優先制御部63から優先度制御経路で制御された優先度に基づいて、それぞれのアクセス要求の中から、受け付ける(許可する)他方のバスシステムへのアクセス要求を決定する。なお、バス調停部614およびバス調停部623は、受け付ける(許可する)他方のバスシステムへのアクセス要求を決定するための優先度が、優先制御部63によって動的に制御される。バス調停部617は、優先制御部63によって制御された優先度に基づいて、それぞれのアクセス要求の中から、受け付ける(許可する)バスシステム62へのアクセス要求を決定する。これにより、受け付けられた(許可された)バスシステム62へのアクセス要求とこのアクセス要求に対応するデータとが、バスコントローラ218を経由してバスシステム62に出力(転送)される。また、バス調停部626は、優先制御部63によって制御された優先度に基づいて、それぞれのアクセス要求の中から、受け付ける(許可する)バスシステム61へのアクセス要求を決定する。これにより、受け付けられた(許可された)バスシステム61へのアクセス要求とこのアクセス要求に対応するデータとが、バスコントローラ227を経由してバスシステム61に出力(転送)される。
 なお、バス調停部617およびバス調停部626におけるアクセス要求の調停の動作や、データの受け渡しの動作は、第1の実施形態におけるバス調停システム20に備えた対応するバス調停部217およびバス調停部226と同様に考えることができる。従って、バス調停部617およびバス調停部626におけるアクセス要求の調停の動作やデータの受け渡しの動作に関する詳細な説明は、省略する。
 また、バス調停システム60では、上述したように、優先制御部63が、バス調停部617およびバス調停部626における処理の進行状況を観測する。このため、バス調停部617およびバス調停部626とのそれぞれは、観測経路で、受け付けた(許可した)アクセス要求における現在の処理の進行状況、つまり、データの出力(転送)状況の情報を、優先制御部63に通知する。
 このような構成によって、撮像装置4は、イメージセンサ10によって被写体の静止画像や動画像を撮影し、撮影した静止画像や動画像に応じた表示画像を表示デバイス30に表示させる。また、撮像装置4は、イメージセンサ10によって撮影した静止画像や動画像に応じた記録画像を、不図示の記録媒体に記録させることもできる。
 また、撮像装置4では、バス調停システム60内の優先制御部63と、バスシステム61内のバス調停部614およびバス調停部617と、バスシステム62内のバス調停部623およびバス調停部626とで、第4の実施形態のバス調停装置を構成する。つまり、2つのデータバス(データバス210およびデータバス220)が設けられた構成の第4の実施形態のバス調停システム60のシステムにおいて、それぞれのデータバスに接続された処理ブロックの優先度を整合させてメモリへのアクセスを調停する第4の実施形態のバス調停装置が構成される。
 また、第4の実施形態のバス調停装置では、それぞれの処理ブロックおよびバス調停部(より具体的には、バス調停部617およびバス調停部626)が、現在の処理の進行状況の情報を、優先制御部63に通知する。そして、第4の実施形態のバス調停装置では、優先制御部63が、通知された現在の処理の進行状況の情報に基づいて、バスシステム61およびバスシステム62に備えたそれぞれの処理ブロックにおける処理の進行状況をリアルタイムに観測する。そして、第4の実施形態のバス調停装置では、優先制御部63が、観測したそれぞれの処理ブロックにおける現在の処理の進行状況に基づいて、それぞれの処理ブロックの優先度を動的に制御する。これにより、第4の実施形態のバス調停装置では、バス調停部614およびバス調停部617と、バス調停部623およびバス調停部626とのそれぞれが、優先制御部63によって制御された優先度に基づいて、対応するデータバスに接続されたそれぞれの処理ブロックからのメモリへのアクセス要求を、処理ブロックの進行状況に応じて優先的に受け付ける(許可する)。これにより、第4の実施形態のバス調停装置を備えた第4の実施形態のバス調停システム60では、それぞれのデータバスごとに、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。このことにより、第4の実施形態のバス調停装置を備えた第4の実施形態のバス調停システム60では、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるデータの流れ、つまり、データバスのバス帯域を確保することができる。
 このことにより、第4の実施形態のバス調停装置を備えた第4の実施形態のバス調停システム60では、それぞれのデータに対して滞りなく処理をすることができ、第4の実施形態のバス調停システム60を搭載した撮像装置4のシステム全体としてのデータの処理時間を保証することができる。
 ここで、バス調停システム60の動作の一例について説明する。図9は、本発明の第4の実施形態のバス調停装置を備えたバス調停システム60を搭載した撮像装置4における動作の一例を示した図である。図9には、撮像処理部211が撮像処理を施した撮像処理画像データに対して、画像処理部613と画像処理部622とが連携して画像処理をする場合の動作の一例を示している。なお、図9には、図3に示した第1の実施形態のバス調停装置を備えたバス調停システム20を搭載した撮像装置1における動作の一例と同様に、バス調停システム60に備えたそれぞれの処理ブロックが対応するデータに対して処理をしている期間など、それぞれの構成要素が動作している期間、およびそれぞれのデータに対するアクセス(書き込みや読み出し)がされている期間を示している。
 まず、優先制御部63は、例えば、撮像装置4の動作モードに基づいて、バス調停システム60に備えたそれぞれの処理ブロックの初期値の優先度を決定し、決定した優先度をバスシステム61内のバス調停部614およびバス調停部617とバスシステム62内のバス調停部623およびバス調停部626とのそれぞれに設定する。なお、優先制御部63における初期値の優先度の設定方法は、第1の実施形態におけるバス調停システム20に備えたCPU23と同様に、撮像装置4の動作モードが決定し、かつ、それぞれの処理ブロックが動作を開始する前にそれぞれの処理ブロックの初期値の優先度を決定する。そして、優先制御部63は、決定した初期値の優先度をそれぞれのバス調停部に設定する。
 図9でも、第1の実施形態のバス調停装置を備えたバス調停システム20を搭載した撮像装置1における動作の一例(図3参照)と同様に、バスシステム61に備えたそれぞれの処理ブロックの優先度を、バス調停部614、バス調停部617、バス調停部623およびバス調停部626のそれぞれに設定するものとして示している。なお、撮像装置4では、第1の実施形態のバス調停装置を備えたバス調停システム20を搭載した撮像装置1と同様に、撮像処理部211と表示処理部219とのそれぞれの優先度が最も高く設定されているものとして説明する。
 その後、バス調停システム60において、それぞれの処理ブロックが、それぞれのフレームに対する処理を開始する。なお、バス調停システム60においても、それぞれの処理ブロックの動作は、第1の実施形態のバス調停装置を備えたバス調停システム20に備えたそれぞれの処理ブロックの動作と同様に考えることができる。従って、以下の説明においては、説明を容易にするため、それぞれの処理ブロックの動作に関する詳細な説明は省略する。
 撮像処理部211は、イメージセンサ10から出力された1フレーム分の画素信号のデータに対して撮像処理を施した撮像処理画像データAをデータバス210に出力し、DRAM216への記憶(書き込み)のアクセス要求をバス調停部614に出力する。
 画像処理部613は、DRAM216に記憶されている撮像処理画像データAを取得する(読み出す)アクセス要求をバス調停部614に出力し、取得した撮像処理画像データAに対して画像処理を施す。
 ここで、バス調停部617が、優先制御部63からの制御に応じて、不図示の別の処理ブロックから出力されたDRAM216からDRAM225へのデータOP1の転送のアクセス要求を受け付けていた(許可していた)場合を考える。このとき、バス調停部617は、DRAM216からデータOP1を取得する(読み出す)アクセス要求をバス調停部614に出力し、バス調停部614によってデータバス210に出力されたデータOP1を取得して(読み出して)、バスコントローラ218に出力する。これにより、バスコントローラ218が、データOP1をバスコントローラ227に送信し、バスコントローラ227が、バスコントローラ218から送信されてきたデータOP1を受信して、バス調停部626に出力する。そして、バス調停部626は、バスコントローラ227から出力されたデータOP1をデータバス220に出力し、DRAM225への記憶(書き込み)のアクセス要求をバス調停部623に出力する。これにより、バス調停部623は、バス調停部626がデータバス220に出力したデータOP1をDRAM225に記憶させる(書き込ませる)。
 このときも優先制御部63は、画像処理部613の処理の進行状況を観測している。そして、優先制御部63は、観測している画像処理部613の処理の進行状況に基づいて、画像処理部613がDRAM225への画像処理画像データS1の直接の記憶(書き込み)のアクセス要求を出力するときまでに、バス調停部617における画像処理部613の優先度を制御する。ここでは、バス調停部623の優先度の方が、不図示の別の処理ブロックの優先度よりも高いものとする。この場合、バス調停部617は、先に、画像処理部613からのアクセス要求を受け付ける(許可する)。つまり、バス調停部617は、不図示の別の処理ブロックから出力されたアクセス要求を待たせる。そして、バス調停部617は、画像処理部613から直接出力された画像処理画像データS1をバスコントローラ218に出力する。これにより、バスコントローラ218が、画像処理画像データS1をバスコントローラ227に送信し、バスコントローラ227が、バスコントローラ218から送信されてきた画像処理画像データS1を受信して、バス調停部626に出力する。そして、バス調停部626は、バスコントローラ227から出力された画像処理画像データS1をデータバス220に出力し、DRAM225への記憶(書き込み)のアクセス要求をバス調停部623に出力する。これにより、バス調停部623は、バス調停部626がデータバス220に出力した画像処理画像データS1をDRAM225に記憶させる(書き込ませる)。
 画像処理部622は、DRAM225に記憶されている画像処理画像データS1を取得する(読み出す)アクセス要求をバス調停部623に出力し、取得した画像処理画像データS1に対して画像処理を施す。
 なお、バス調停部617は、受け付けた(許可した)画像処理部613からのアクセス要求による動作が終了すると、待たせていた不図示の別の処理ブロックからのアクセス要求を再び受け付ける(許可する)。これにより、不図示の別の処理ブロックから出力されたDRAM216からDRAM225へのデータOP1の転送が再開され、バス調停部626がデータバス220に出力した続きのデータOP1がDRAM225に記憶される(書き込まれる)。ただし、図9に示したように、画像処理部622による画像処理画像データS1の取得(読み出し)のアクセス要求の方が、バス調停部626によるデータOP1のDRAM225への記憶(書き込み)のアクセス要求よりも優先して受け付けられている(許可されている)。このため、再開された続きのデータOP1のDRAM225への記憶(書き込み)は、画像処理部622による画像処理画像データS1を取得する(読み出す)アクセス要求による動作が終了した後になっている。
 その後、画像処理部622は、取得した画像処理画像データS1に対して画像処理を施した画像処理画像データS2のDRAM216への直接の記憶(書き込み)のアクセス要求をバス調停部626に出力する。これにより、バス調停部626は、画像処理部622から直接出力された画像処理画像データS2をバスコントローラ227に出力する。そして、バスコントローラ227が、画像処理画像データS2をバスコントローラ218に送信し、バスコントローラ218が、バスコントローラ227から送信されてきた画像処理画像データS2を受信して、バス調停部617に出力する。そして、バス調停部617は、バスコントローラ218から出力された画像処理画像データS2をデータバス210に出力し、DRAM216への記憶(書き込み)のアクセス要求をバス調停部614に出力する。これにより、バス調停部614は、バス調停部617がデータバス210に出力した画像処理画像データS2をDRAM216に記憶させる(書き込ませる)。
 また、図9に示したように、バス調停部626は、不図示のさらに別の処理ブロックから出力されたDRAM225からDRAM216へのデータOP2の転送のアクセス要求を受け付けている(許可している)。このとき、バス調停部626は、DRAM225からデータOP2を取得する(読み出す)アクセス要求をバス調停部623に出力し、バス調停部623によってデータバス220に出力されたデータOP2を取得して(読み出して)、バスコントローラ227に出力する。これにより、バスコントローラ227が、データOP2をバスコントローラ218に送信し、バスコントローラ218が、バスコントローラ227から送信されてきたデータOP2を受信して、バス調停部617に出力する。そして、バス調停部617は、バスコントローラ218から出力されたデータOP2をデータバス210に出力し、DRAM216への記憶(書き込み)のアクセス要求をバス調停部614に出力する。これにより、バス調停部614は、バス調停部617がデータバス210に出力したデータOP2をDRAM216に記憶させる(書き込ませる)。
 また、画像処理部613は、DRAM216に記憶されているデータOP2を取得する(読み出す)アクセス要求をバス調停部214バス調停部614に出力する。
 このときも優先制御部63は、画像処理部613の処理の進行状況を観測している。そして、優先制御部63は、観測している画像処理部613の処理の進行状況に基づいて、バス調停部614における画像処理部613の優先度を制御する。ここでは、不図示のさらに別の処理ブロックの優先度の方が、画像処理部613の優先度よりも高いものとする。この場合、バス調停部614は、画像処理部613から出力されたデータOP2を取得する(読み出す)アクセス要求を待たせ、先に、不図示のさらに別の処理ブロックからのアクセス要求を受け付ける(許可する)。そして、バス調停部614は、バス調停部617がデータバス210に出力したデータOP2をDRAM216に記憶させる(書き込ませる)。
 そして、バス調停部614は、バス調停部617がデータバス210に出力したデータOP2のDRAM216への記憶(書き込み)が終了すると、待たせていた画像処理部613からのデータOP2を取得する(読み出す)アクセス要求を受け付ける(許可する)。これにより、画像処理部613は、データOP2を取得する(読み出す)。そして、画像処理部613は、取得したデータOP2に対して画像処理を施した後、画像処理を施した画像処理画像データS3をデータバス210に出力し、DRAM216への記憶(書き込み)のアクセス要求をバス調停部614に出力する。これにより、画像処理部613がデータバス210に出力した画像処理画像データS3が、DRAM216に記憶される(書き込まれる)。
 表示処理部219は、DRAM216に記憶されている画像処理画像データS3を表示画像データEとして取得する(読み出す)アクセス要求をバス調停部614に出力する。そして、表示処理部219は、取得した表示画像データEに対して表示処理を施して表示画像を生成し、生成した表示画像を表示デバイス30に出力して表示させる。
 このように、バス調停システム60では、それぞれの処理ブロックが、DRAM216またはDRAM225へのアクセス要求を出力する。そして、バス調停システム60では、バスシステム61に備えたバス調停部614およびバス調停部617と、バスシステム62に備えたバス調停部623およびバス調停部626とのそれぞれが、対応する処理ブロックからのアクセス要求を、優先制御部63から制御された優先度に基づいて調停する。より具体的には、バス調停部614は、撮像処理部211からの撮像処理画像データAの記憶(書き込み)と、画像処理部613からの撮像処理画像データAやデータOP2の取得(読み出し)および画像処理画像データS3の記憶(書き込み)と、バス調停部617からのデータOP1の取得(読み出し)および画像処理画像データS2やデータOP2の記憶(書き込み)と、表示処理部219からの表示画像データE(画像処理画像データS3)の取得(読み出し)とのそれぞれのアクセス要求を調停する。また、バス調停部617は、画像処理部613からの画像処理画像データS1のDRAM225への直接の記憶(書き込み)と、不図示の別の処理ブロックからのデータOP1の転送と、バスコントローラ218からの画像処理画像データS2やデータOP2の転送とのそれぞれのアクセス要求を調停する。また、バス調停部626は、バスコントローラ227からの画像処理画像データS1のDRAM225への記憶(書き込み)と、バスコントローラ227からのデータOP1やデータOP2の転送と、画像処理部622からの画像処理画像データS2のDRAM216への直接の記憶(書き込み)とのそれぞれのアクセス要求を調停する。また、バス調停部623は、バス調停部626からのデータOP1や画像処理画像データS1の記憶(書き込み)およびデータOP2の取得(読み出し)と、画像処理部622からの画像処理画像データS1の取得(読み出し)とのそれぞれのアクセス要求を調停する。
 このような動作によって、バス調停システム60では、バスシステム61およびバスシステム62に備えたそれぞれの処理ブロックからのメモリへのアクセス要求を、優先制御部63と、バス調停部614およびバス調停部617と、バス調停部623およびバス調停部626とで構成される第4の実施形態のバス調停装置が調停する。
 なお、上述したように、バス調停システム60では、それぞれの処理ブロックおよびバス調停部(より具体的には、バス調停部617およびバス調停部626)が、現在の処理の進行状況の情報を、制御経路で優先制御部63に通知する。そして、バス調停システム60では、優先制御部63が、通知された現在の処理の進行状況の情報に基づいて、バスシステム61およびバスシステム62に備えたそれぞれの処理ブロックにおける処理の進行状況をリアルタイムに観測する。そして、優先制御部63は、観測したそれぞれの処理ブロックにおける現在の処理の進行状況に基づいて、それぞれの処理ブロックの優先度を、優先度制御経路で動的に制御する。これにより、バス調停システム60では、バス調停部614およびバス調停部617と、バス調停部623およびバス調停部626とのそれぞれが、優先制御部63によって制御された優先度に基づいて、アクセス要求を出力してきた処理ブロックの中から、メモリへのアクセス要求を優先的に受け付ける(許可する)処理ブロックを決定する。
 このように、第4の実施形態のバス調停装置では、優先制御部63が、それぞれの処理ブロックおよびバス調停部(より具体的には、バス調停部617およびバス調停部626)における処理の進行状況を観測し、観測した処理の進行状況に基づいて、それぞれの処理ブロックの優先度を動的に制御する。これにより、第4の実施形態のバス調停装置を備えた第4の実施形態のバス調停システム60では、それぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。このことにより、第4の実施形態のバス調停装置を備えた第4の実施形態のバス調停システム60では、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるバス帯域を確保することができる。このことにより、第4の実施形態のバス調停装置を備えた第4の実施形態のバス調停システム60では、それぞれの処理ブロックにおけるデータの処理時間を確保し、第4の実施形態のバス調停システム60を搭載した撮像装置4のシステム全体の動作を保証することができる。
 上述したように、第4の実施形態のバス調停装置では、バス調停システム60内の優先制御部63が、それぞれの処理ブロックおよびバス調停部から通知されてきた現在の処理の進行状況の情報に基づいて、それぞれの処理ブロックにおける処理の進行状況をリアルタイムに観測して優先度を動的に制御する。また、第4の実施形態のバス調停装置では、バス調停部614およびバス調停部617と、バス調停部623およびバス調停部626とのそれぞれが、優先制御部63から制御された対応する処理ブロックの優先度に基づいて、それぞれの処理ブロックによるメモリへのアクセス要求を調停する。これにより、第4の実施形態のバス調停装置を備えた第4の実施形態のバス調停システム60では、それぞれのデータバスごとに、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。つまり、第4の実施形態のバス調停装置では、バス調停部614およびバス調停部617と、バス調停部623およびバス調停部626とのそれぞれが、対応する処理ブロックの処理の進行状況によって、処理ブロックに必要なバス帯域が変動する場合でも、それぞれの処理ブロックからのメモリへのアクセス要求が必要以上に待たされることがないように適切に調停することができる。
 このことにより、第4の実施形態のバス調停装置を備えた第4の実施形態のバス調停システム60では、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるバス帯域を確保することができる。このことにより、第4の実施形態のバス調停装置を備えた第4の実施形態のバス調停システム60では、それぞれのデータに対して滞りなく処理をすることができ、第4の実施形態のバス調停システム60を搭載した撮像装置4のシステム全体としての動作を保証することができる。
 なお、第4の実施形態のバス調停装置を備えた第4の実施形態のバス調停システム60では、バスシステム61とバスシステム62とが1つのシステムLSIで構成される場合について説明した。しかし、本発明のバス調停装置を備えたバス調停システムの構成は、1つのシステムLSIの構成に限定されるものではなく、異なる2つのシステムLSIで構成されてもよい。このとき、優先制御部63は、それぞれのシステムLSIとは異なる別のシステムLSIとして構成されてもよい。この場合、優先制御部63は、それぞれのバスシステムに備えた処理ブロックの優先度を、バス調停部614およびバス調停部617と、バス調停部623およびバス調停部626とのそれぞれに直接設定する構成にしてもよい。また、優先制御部63は、いずれかのシステムLSI内に配置される構成されてもよい。この場合、優先制御部63は、優先制御部63が配置されていない他方のシステムLSIのバスシステムに備えたそれぞれの処理ブロックの優先度を、それぞれのシステムLSIに配置されたバスシステム内のバスコントローラを経由して設定する構成にしてもよい。
 なお、第4の実施形態のバス調停装置では、優先制御部63が、バスシステム61とバスシステム62との両方に対応する構成である場合について説明した。しかし、本発明のバス調停装置においてそれぞれのデータバスに接続される処理ブロックにおける優先度の制御は、1つの優先制御部によって実現する構成に限定されるものではない。
(第5の実施形態)
 次に、本発明の第5の実施形態のバス調停装置について説明する。本発明の第5の実施形態のバス調停装置は、それぞれのデータバスに複数種類の画像処理を施す処理ブロックが接続されている場合において、それぞれのデータバスに接続されているメモリへのアクセス要求の調停を制御する優先制御部を、それぞれのデータバスごとに備える構成である。なお、以下の説明においても、本発明の第5の実施形態のバス調停装置が、例えば、静止画用カメラや動画用カメラなどの撮像装置に搭載されている本発明の第5の実施形態のバス調停システムに備えられている場合について説明する。
 図10は、本発明の第5の実施形態におけるバス調停装置を備えたバス調停システムを搭載した撮像装置の概略構成を示したブロック図である。図10に示したバス調停システムは、図8に示した第4の実施形態のバス調停装置を備えたバス調停システム60に備えた優先制御部63と同様の優先制御部を、それぞれのデータバスごとに備える構成にしたものである。このため、図10に示した第5の実施形態のバス調停装置を備えたバス調停システムを搭載した撮像装置の構成には、図8に示した第4の実施形態のバス調停装置を備えたバス調停システム60を搭載した撮像装置4と同様の構成要素を含んでいる。従って、第5の実施形態のバス調停装置を備えたバス調停システムを搭載した撮像装置の構成要素において、第4の実施形態のバス調停装置を備えたバス調停システム60を搭載した撮像装置4の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。また、図10に示した第5の実施形態のバス調停装置および第5の実施形態のバス調停装置を備えたバス調停システムの構成には、図8に示した第4の実施形態のバス調停装置および第4の実施形態のバス調停装置を備えたバス調停システム60と同様の構成要素を含んでいる。従って、第5の実施形態のバス調停装置および第5の実施形態のバス調停装置を備えたバス調停システムの構成要素において、第4の実施形態のバス調停装置および第4の実施形態のバス調停装置を備えたバス調停システム60の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。
 図10に示した撮像装置5は、イメージセンサ10と、バス調停システム70と、表示デバイス30と、を備えている。また、バス調停システム70は、2つのバスシステム(バスシステム71およびバスシステム72)と、を備えている。
 また、バスシステム71は、撮像処理部211と、画像処理部613と、バス調停部614と、メモリ制御部215と、DRAM216と、バス調停部617と、バスコントローラ218と、表示処理部219と、優先制御部710と、を備えている。なお、バスシステム71にも、第1の実施形態のバス調停装置を備えたバス調停システム20を構成するバスシステム21と同様に、デジタルシグナルプロセッサ212を備えていてもよいが、図10では、説明を容易にするため、デジタルシグナルプロセッサ212を省略している。バスシステム71では、撮像処理部211と、画像処理部613と、バス調停部614と、バス調停部617と、表示処理部219とのそれぞれが、共通のデータバス210に接続されている。
 また、バスシステム72は、画像処理部622と、バス調停部623と、メモリ制御部224と、DRAM225と、バス調停部626と、バスコントローラ227と、優先制御部720と、を備えている。なお、バスシステム72にも、第1の実施形態のバス調停装置を備えたバス調停システム20を構成するバスシステム22と同様に、デジタルシグナルプロセッサ221を備えていてもよいが、図10では、説明を容易にするため、デジタルシグナルプロセッサ221を省略している。バスシステム72では、画像処理部622と、バス調停部623と、バス調停部626とのそれぞれが、共通のデータバス220に接続されている。
 なお、図10に示した撮像装置5では、バスシステム71内の優先制御部710、バス調停部614、およびバス調停部617と、バスシステム72内の優先制御部720、バス調停部623、およびバス調停部626との構成が、第5の実施形態のバス調停装置に相当する。
 なお、バス調停システム70も、図8に示した第4の実施形態におけるバス調停システム60と同様に、バスシステム71とバスシステム72との2つのバスシステムを含んで構成されている。そして、図10においても、第4の実施形態におけるバス調停システム60と同様に、バスシステム71とバスシステム72とのそれぞれが、DRAM(DRAM216またはDRAM225)も含めた構成である場合を示しているが、バス調停システム70の構成は、第4の実施形態におけるバス調停システム60と同様に、図10に示した構成に限定されるものではない。つまり、バス調停システム70も、第4の実施形態におけるバス調停システム60と同様に、2つのシステムLSIを含んだ構成としてもよいし、1つのシステムLSIとして構成してもよい。
 以下の説明においては、図8に示した第4の実施形態におけるバス調停システム60と同様に、バス調停システム70内のバスシステム71とバスシステム72とが1つのシステムLSIで構成されるものとして説明する。なお、バス調停システム70も、DRAM216とDRAM225とのそれぞれが、バスシステム71とバスシステム72とが構成された1つのシステムLSIの外部に配置され、対応するデータバスに接続される構成となる。しかし、以下の説明においても、図8に示した第4の実施形態におけるバス調停システム60と同様に、説明を容易にするため、DRAM216がバスシステム71に含まれる構成要素であり、DRAM225がバスシステム72に含まれる構成要素であるものとして説明する。
 撮像装置5も、図8に示した第4の実施形態における撮像装置4と同様の動作をする。そして、撮像装置5では、バス調停システム70、バス調停システム70を構成するバスシステム71やバスシステム72、バスシステム71やバスシステム72に備えたそれぞれの構成要素も、第4の実施形態における撮像装置4の対応する構成要素と同様の動作をする。以下の説明においては、バス調停システム70に備えたそれぞれの構成要素の動作において、第4の実施形態におけるバス調停システム60に備えた対応する構成要素と同様の動作に関する詳細な説明は省略し、第4の実施形態におけるバス調停システム60に備えた対応する構成要素と異なる動作や処理についてのみを説明する。
 なお、バス調停システム70では、バスシステム71に備えた撮像処理部211、画像処理部613、および表示処理部219と、バスシステム72に備えた画像処理部622とのそれぞれが、バス調停システム70において画像処理をする処理機能を実現する処理ブロックである。
 バス調停システム70では、第4の実施形態におけるバス調停システム60に備えた優先制御部63に相当する優先制御部710と優先制御部720とが、対応するバスシステム(バスシステム71またはバスシステム72)内に備えられている。つまり、バス調停システム70では、バスシステム71内に優先制御部710を備え、バスシステム72内に優先制御部720を備えている。言い換えれば、バス調停システム70では、第4の実施形態におけるバス調停システム60に備えた優先制御部63に相当する優先制御部を、それぞれのデータバスごとに備えている。
 このため、バス調停システム70では、それぞれのデータバスごとに、接続されている処理ブロックによるDRAMへのアクセス要求の調停を制御する。つまり、バス調停システム70では、優先制御部710が、バスシステム71内のデータバス210に接続されたそれぞれの処理ブロックがDRAM216にアクセスする際の優先度を動的に制御し、優先制御部720が、バスシステム72内のデータバス220に接続されたそれぞれの処理ブロックがDRAM225にアクセスする際の優先度を動的に制御する。
 優先制御部710と優先制御部720とのそれぞれは、第4の実施形態におけるバス調停システム60に備えた優先制御部63と同様の動作をする優先制御部である。つまり、優先制御部710と優先制御部720とのそれぞれは、対応するデータバス210に接続されたそれぞれの処理ブロックにおける処理の進行状況を観測し、観測した結果に基づいて、それぞれの処理ブロックがDRAMにアクセスする際の優先度を動的に制御する。つまり、バス調停システム70でも、優先制御部710と優先制御部720とのそれぞれが、対応するそれぞれの処理ブロックによるDRAMへのアクセスが必要以上に待たされることがないように制御する。なお、優先制御部710と優先制御部720とのそれぞれが対応するそれぞれの処理ブロックの優先度を動的に制御する際の考え方は、第4の実施形態におけるバス調停システム60に備えた優先制御部63の考え方、つまり、第2の実施形態のバス調停装置を構成するCPU43がそれぞれの処理ブロックの優先度を動的に変更する際の考え方と同様である。
 図10には、優先制御部710が、バスシステム71内の画像処理部613およびバス調停部617の処理の進行状況を観測する経路(観測経路)を示している。また、図10には、優先制御部720が、バスシステム72内の画像処理部622およびバス調停部626の処理の進行状況を観測する経路(観測経路)を示している。なお、本発明においては、優先制御部710および優先制御部720がそれぞれの処理ブロックにおける処理の進行状況を観測する方法に関しては、特に制限はしない。
 また、図10には、優先制御部710が、バスシステム71内のバス調停部614とバス調停部617とのそれぞれが対応する処理ブロックからのアクセス要求を受け付ける(許可する)際の優先度を動的に制御する経路(優先度制御経路)を示している。また、図10には、優先制御部720が、バスシステム72内のバス調停部623とバス調停部626とのそれぞれが対応する処理ブロックからのアクセス要求を受け付ける(許可する)際の優先度を制御する経路(優先度制御経路)を示している。なお、本発明においては、優先制御部710および優先制御部720がそれぞれのバス調停部が受け付ける(許可する)アクセス要求を制御する方法に関しては、特に制限はしない。
 また、優先制御部710と優先制御部720とのそれぞれは、対応する処理ブロックにおける処理の進行状況を観測した情報や、対応する処理ブロックがDRAMにアクセスする際の優先度を制御した情報を、互いにやり取りする。これにより、優先制御部710と優先制御部720とのそれぞれは、互いの情報を共有する。そして、優先制御部710と優先制御部720とのそれぞれは、互いにやり取りした情報に基づいて、対応するデータバスに接続されたそれぞれの処理ブロックによるDRAMへのアクセス要求を、互いに整合させる。
 図10には、優先制御部710と優先制御部720とが互いの情報をやり取りする経路(情報経路)を示している。なお、本発明においては、優先制御部710と優先制御部720とのそれぞれが互いの情報をやり取りする方法に関しては、特に制限はしない。
 このような構成によって、撮像装置5は、イメージセンサ10によって被写体の静止画像や動画像を撮影し、撮影した静止画像や動画像に応じた表示画像を表示デバイス30に表示させる。また、撮像装置5は、イメージセンサ10によって撮影した静止画像や動画像に応じた記録画像を、不図示の記録媒体に記録させることもできる。
 また、撮像装置5では、バスシステム71内の優先制御部710、バス調停部614、およびバス調停部617と、バスシステム72内の優先制御部720、バス調停部623、およびバス調停部626とで、第5の実施形態のバス調停装置を構成する。つまり、2つのデータバス(データバス210およびデータバス220)が設けられた構成の第5の実施形態のバス調停システム70のシステムにおいて、それぞれのデータバスに接続された処理ブロックの優先度を整合させてメモリへのアクセスを調停する第5の実施形態のバス調停装置が構成される。
 また、第5の実施形態のバス調停装置では、それぞれのバスシステム(より具体的には、バスシステム71およびバスシステム72)ごと、つまり、それぞれのデータバス(より具体的には、データバス210およびデータバス220)ごとに優先制御部(より具体的には、優先制御部710および優先制御部720)を備える。そして、第5の実施形態のバス調停装置では、それぞれの処理ブロックおよびバス調停部(より具体的には、バス調停部617およびバス調停部626)が、現在の処理の進行状況の情報を、対応する優先制御部に通知する。そして、第5の実施形態のバス調停装置では、それぞれの優先制御部が、対応するデータバスに接続されたそれぞれの処理ブロックにおける処理の進行状況をリアルタイムに観測する。また、第5の実施形態のバス調停装置では、それぞれの優先制御部が、互いの情報をやり取りする。そして、第5の実施形態のバス調停装置では、それぞれの優先制御部が、観測したそれぞれの処理ブロックにおける現在の処理の進行状況と、やり取りした別の優先制御部の情報に基づいて、対応するそれぞれの処理ブロックの優先度を動的に制御する。これにより、第5の実施形態のバス調停装置では、バス調停部614およびバス調停部617と、バス調停部623およびバス調停部626とのそれぞれが、対応する優先制御部によって制御された優先度に基づいて、対応するデータバスに接続されたそれぞれの処理ブロックからのメモリへのアクセス要求を、処理ブロックの進行状況に応じて優先的に受け付ける(許可する)。これにより、第5の実施形態のバス調停装置を備えた第5の実施形態のバス調停システム70では、それぞれのデータバスごとに、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。このことにより、第5の実施形態のバス調停装置を備えた第5の実施形態のバス調停システム70では、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるデータの流れ、つまり、データバスのバス帯域を確保することができる。
 このことにより、第5の実施形態のバス調停装置を備えた第5の実施形態のバス調停システム70では、それぞれのデータに対して滞りなく処理をすることができ、第5の実施形態のバス調停システム70を搭載した撮像装置5のシステム全体としてのデータの処理時間を保証することができる。
 なお、バス調停システム70において、バスシステム71およびバスシステム72に備えたそれぞれの処理ブロックによるDRAM216やDRAM225へのアクセス要求の制御や、バス調停システム70の動作は、第4の実施形態のバス調停システム60と同様に考えることができる。従って、バス調停システム70におけるそれぞれの処理ブロックによるDRAM216やDRAM225へのアクセス要求の制御やバス調停システム70の動作に関する詳細な説明は、省略する。
 第5の実施形態によれば、優先制御部は、第1のバス調停部(バス調停部614)が受け付けるアクセス要求の優先度を制御する第1の優先制御部(優先制御部710)と、第2のバス調停部(バス調停部623)が受け付けるアクセス要求の優先度を制御する第2の優先制御部(優先制御部720)と、から構成され、優先制御部710と優先制御部720とは、優先度を制御するための情報を互いにやり取りし、やり取りした情報に基づいて、対応するバス調停部(バス調停部614またはバス調停部623)が受け付けるアクセス要求の優先度を制御する、バス調停装置(バス調停装置)が構成される。
 上述したように、第5の実施形態のバス調停装置では、バス調停システム70内のそれぞれのデータバスごとに優先制御部を備える。そして、第5の実施形態のバス調停装置では、それぞれの優先制御部が、対応するそれぞれの処理ブロックおよびバス調停部から通知されてきた現在の処理の進行状況の情報に基づいて、それぞれの処理ブロックにおける処理の進行状況をリアルタイムに観測し、観測したそれぞれの処理ブロックにおける処理の進行状況とやり取りした別の優先制御部の情報とに基づいて優先度を動的に制御する。また、第5の実施形態のバス調停装置では、バス調停部614およびバス調停部617と、バス調停部623およびバス調停部626とのそれぞれが、対応する優先制御部から制御された対応する処理ブロックの優先度に基づいて、それぞれの処理ブロックによるメモリへのアクセス要求を調停する。これにより、第5の実施形態のバス調停装置を備えた第5の実施形態のバス調停システム70では、それぞれのデータバスごとに、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。つまり、第5の実施形態のバス調停装置では、バス調停部614およびバス調停部617と、バス調停部623およびバス調停部626とのそれぞれが、対応する処理ブロックの処理の進行状況によって、処理ブロックに必要なバス帯域が変動する場合でも、それぞれの処理ブロックからのメモリへのアクセス要求が必要以上に待たされることがないように適切に調停することができる。
 このことにより、第5の実施形態のバス調停装置を備えた第5の実施形態のバス調停システム70では、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるバス帯域を確保することができる。このことにより、第5の実施形態のバス調停装置を備えた第5の実施形態のバス調停システム70では、それぞれのデータに対して滞りなく処理をすることができ、第5の実施形態のバス調停システム70を搭載した撮像装置5のシステム全体としての動作を保証することができる。
 しかも、第5の実施形態のバス調停装置では、バス調停システム70内のそれぞれのデータバスごとに優先制御部を備えるため、1つの優先制御部が全てのデータバスに対応する構成よりも、優先度制御経路や観測経路でやり取りする信号線の取り回しを容易にし、それぞれの構成要素を配置(レイアウト)してシステムLSIを構成する際の自由度を向上させることができる。
 なお、第5の実施形態のバス調停装置を備えた第5の実施形態のバス調停システム70では、バスシステム71とバスシステム72とが1つのシステムLSIで構成される場合について説明した。しかし、本発明のバス調停装置を備えたバス調停システムの構成は、1つのシステムLSIの構成に限定されるものではなく、異なる2つのシステムLSIで構成されてもよい。このとき、それぞれの優先制御部は、対応するそれぞれのシステムLSI内に配置される。この場合、それぞれの優先制御部は、それぞれのシステムLSIに備えた通信部によるデータの通信によって、互いの情報をやり取りする構成にしてもよい。
(第6の実施形態)
 次に、本発明の第6の実施形態のバス調停装置について説明する。本発明の第6の実施形態のバス調停装置は、第6の実施形態のバス調停装置を備えたバス調停システムを2つのバスシステムを含んで構成する場合において、それぞれのバスシステムをシステムLSIで構成したものである。なお、以下の説明においても、本発明の第6の実施形態のバス調停装置が、例えば、静止画用カメラや動画用カメラなどの撮像装置に搭載されている本発明の第6の実施形態のバス調停システムに備えられている場合について説明する。
 図11は、本発明の第6の実施形態におけるバス調停装置を備えたバス調停システムを搭載した撮像装置の概略構成を示したブロック図である。図11に示したバス調停システムは、図10に示した第5の実施形態のバス調停装置を備えたバス調停システム70を構成するバスシステム71とバスシステム72とのそれぞれにおけるDRAM以外の構成要素をシステムLSIで構成したものである。つまり、図11に示したバス調停システムは、2つのシステムLSIを含んだ構成としたものである。このため、図11に示した第6の実施形態のバス調停装置を備えたバス調停システムを搭載した撮像装置の構成には、図10に示した第5の実施形態のバス調停装置を備えたバス調停システム70を搭載した撮像装置5と同様の構成要素を含んでいる。従って、第6の実施形態のバス調停装置を備えたバス調停システムを搭載した撮像装置の構成要素において、第5の実施形態のバス調停装置を備えたバス調停システム70を搭載した撮像装置5の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。また、図11に示した第6の実施形態のバス調停装置および第6の実施形態のバス調停装置を備えたバス調停システムの構成には、図10に示した第5の実施形態のバス調停装置および第5の実施形態のバス調停装置を備えたバス調停システム70と同様の構成要素を含んでいる。従って、第6の実施形態のバス調停装置および第6の実施形態のバス調停装置を備えたバス調停システムの構成要素において、第5の実施形態のバス調停装置および第5の実施形態のバス調停装置を備えたバス調停システム70の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。
 図11に示した撮像装置6は、イメージセンサ10と、バス調停システム80と、表示デバイス30と、を備えている。また、バス調停システム80は、2つのバスシステムチップ(バスシステムチップ81およびバスシステムチップ82)と、2つのDRAM(DRAM216およびDRAM225)と、を備えている。
 バスシステムチップ81は、バス調停システム80を構成する一方のバスシステムにDRAM以外の構成要素が配置されたシステムLSIである。バスシステムチップ81は、撮像処理部211と、画像処理部613と、バス調停部614と、メモリ制御部215と、通信調停部817と、通信部818と、表示処理部219と、優先制御部710と、を備えている。バスシステムチップ81は、第5の実施形態のバス調停装置を備えたバス調停システム70を構成するバスシステム71におけるDRAM216以外の構成要素をシステムLSIで構成したものに相当する。ただし、バスシステムチップ81では、第5の実施形態のバス調停システム70を構成するバスシステム71に備えたバス調停部617が通信調停部817に代わり、バスコントローラ218が通信部818に代わっている。なお、バスシステムチップ81にも、第1の実施形態のバス調停装置を備えたバス調停システム20を構成するバスシステム21と同様に、デジタルシグナルプロセッサ212を備えていてもよいが、図11では、説明を容易にするため、デジタルシグナルプロセッサ212を省略している。バスシステムチップ81では、撮像処理部211と、画像処理部613と、バス調停部614と、通信調停部817と、表示処理部219とのそれぞれが、共通のデータバス210に接続されている。
 また、バスシステムチップ82は、バス調停システム80を構成する他方のバスシステムにDRAM以外の構成要素が配置されたシステムLSIである。バスシステムチップ82は、画像処理部622と、バス調停部623と、メモリ制御部224と、通信調停部826と、通信部827と、優先制御部720と、を備えている。バスシステムチップ82は、第5の実施形態のバス調停装置を備えたバス調停システム70を構成するバスシステムチップ82におけるDRAM225以外の構成要素をシステムLSIで構成したものに相当する。ただし、バスシステムチップ82では、第5の実施形態のバス調停システム70を構成するバスシステム72に備えたバス調停部626が通信調停部826に代わり、バスコントローラ227が通信部827に代わっている。なお、バスシステムチップ82にも、第1の実施形態のバス調停装置を備えたバス調停システム20を構成するバスシステム22と同様に、デジタルシグナルプロセッサ221を備えていてもよいが、図11では、説明を容易にするため、デジタルシグナルプロセッサ221を省略している。バスシステムチップ82では、画像処理部622と、バス調停部623と、通信調停部826とのそれぞれが、共通のデータバス220に接続されている。
 なお、図11に示した撮像装置6では、バスシステムチップ81内の優先制御部710、バス調停部614、および通信調停部817と、バスシステムチップ82内の優先制御部720、バス調停部623、および通信調停部826との構成が、第6の実施形態のバス調停装置に相当する。
 なお、バス調停システム80では、2つのバスシステムをバスシステムチップ81とバスシステムチップ82との2つのシステムLSIで構成している。このため、バス調停システム80では、それぞれのバスシステムチップに対応する2つのDRAM(DRAM216またはDRAM225)が、外部に接続されている。しかし、バス調停システム80の構成は、図11に示した構成に限定されるものではない。つまり、バス調停システム80は、2つのバスシステムを1つのシステムLSIで構成し、2つのDRAM(DRAM216またはDRAM225)を外部に接続した構成であってもよい。
 撮像装置6も、図10に示した第5の実施形態における撮像装置5と同様の動作をする。そして、撮像装置6では、バス調停システム80、バス調停システム80を構成するそれぞれの構成要素(バスシステムチップ81、バスシステムチップ82、DRAM216、およびDRAM225)、バスシステムチップ81やバスシステムチップ82に備えたそれぞれの構成要素に、第5の実施形態における撮像装置5の対応する構成要素と同様の構成要素を含んでいる。以下の説明においては、バス調停システム80に備えたそれぞれの構成要素において、第5の実施形態におけるバス調停システム70に備えた対応する構成要素と同様の構成要素に関する詳細な説明は省略し、第5の実施形態におけるバス調停システム70に備えた対応する構成要素と異なる構成要素についてのみを説明する。
 なお、バス調停システム80では、バスシステムチップ81に備えた撮像処理部211、画像処理部613、および表示処理部219と、バスシステムチップ82に備えた画像処理部622とのそれぞれが、バス調停システム80において画像処理をする処理機能を実現する処理ブロックである。ここで、バス調停システム80では、画像処理をする処理機能を実現するそれぞれの処理ブロックが、第5の実施形態におけるバス調停システム70に備えた対応する処理ブロックと同じ処理ブロックである。そして、バス調停システム80では、バスシステムチップ81に備えた優先制御部710と、バスシステムチップ82に備えた優先制御部720とは、第5の実施形態におけるバス調停システム70に備えた優先制御部710および優先制御部720である。従って、バス調停システム80は、第5の実施形態におけるバス調停システム70と同じ動作をする。ただし、バス調停システム80では、上述したように、第5の実施形態のバス調停システム70に備えたバス調停部617が通信調停部817に代わり、バスコントローラ218が通信部818に代わり、バス調停部626が通信調停部826に代わり、バスコントローラ227が通信部827に代わっている。
 通信調停部817および通信調停部826は、第5の実施形態におけるバス調停システム70に備えた対応するバス調停部617およびバス調停部626と同様に、対応する画像処理部からの他方のバスシステムチップの画像処理部への直接のアクセス要求、および対応するデータバスに接続されているそれぞれの処理ブロックからの他方のバスシステムチップに接続されたDRAMへのアクセス要求を調停し、いずれか一方のアクセス要求を受け付ける。そして、通信調停部817および通信調停部826は、第5の実施形態におけるバス調停システム70に備えた対応するバス調停部617およびバス調停部626と同様に、受け付けたアクセス要求とこのアクセス要求に対応するデータとを、対応する通信部に出力(転送)する。
 また、通信調停部817および通信調停部826は、第5の実施形態におけるバス調停システム70に備えた対応するバス調停部617およびバス調停部626と同様に、他方のバスシステムチップに備えた画像処理部からの対応する画像処理部への直接のアクセス要求、および他方のバスシステムチップに備えたそれぞれの処理ブロックからの対応するデータバスを経由したDRAMへのアクセス要求を受け付ける。通信調停部817および通信調停部826は、受け付けたアクセス要求とこのアクセス要求に対応するデータとを、対応する画像処理部、または対応するバス調停部に出力(転送)する。
 通信調停部817および通信調停部826は、第5の実施形態におけるバス調停システム70に備えた対応するバス調停部617およびバス調停部626と同様に、対応する優先制御部から優先度制御経路で制御された優先度に基づいて、それぞれのアクセス要求の中から、受け付ける(許可する)他方のバスシステムチップへのアクセス要求を決定する。なお、バス調停部614およびバス調停部623は、受け付ける(許可する)他方のバスシステムチップへのアクセス要求を決定するための優先度が、対応する優先制御部によって動的に制御される。通信調停部817は、優先制御部710によって制御された優先度に基づいて、それぞれのアクセス要求の中から、受け付ける(許可する)バスシステムチップ82へのアクセス要求を決定する。これにより、受け付けられた(許可された)バスシステムチップ82へのアクセス要求とこのアクセス要求に対応するデータとが、通信部818を経由してバスシステムチップ82に出力(送信)される。また、通信調停部826は、優先制御部720によって制御された優先度に基づいて、それぞれのアクセス要求の中から、受け付ける(許可する)バスシステムチップ81へのアクセス要求を決定する。これにより、受け付けられた(許可された)バスシステムチップ81へのアクセス要求とこのアクセス要求に対応するデータとが、通信部827を経由してバスシステムチップ81に出力(送信)される。
 なお、通信調停部817および通信調停部826におけるアクセス要求の調停の動作や、データの受け渡しの動作は、データの受け渡す先がバスコントローラから通信部に変わった以外は、第5の実施形態におけるバス調停システム70に備えた対応するバス調停部617およびバス調停部626と同様に考えることができる。従って、通信調停部817および通信調停部826におけるアクセス要求の調停の動作やデータの受け渡しの動作に関する詳細な説明は、省略する。
 なお、バス調停システム80でも、第5の実施形態におけるバス調停システム70と同様に、対応する優先制御部が、通信調停部817および通信調停部826における処理の進行状況を観測する。このため、通信調停部817および通信調停部826とのそれぞれは、観測経路で、受け付けた(許可した)アクセス要求における現在の処理の進行状況、つまり、データの出力(転送)状況の情報を、対応する優先制御部に通知する。
 通信部818および通信部827は、対応する通信調停部から出力(転送)されたアクセス要求とこのアクセス要求に対応するデータとを、バスシステムチップ81とバスシステムチップ82との間で互いにやり取りするための通信をする通信部である。通信部818および通信部827は、図11に示した通信経路で、対応する通信調停部から出力(転送)されたアクセス要求とこのアクセス要求に対応するデータとを、同じ形式で互いに通信(送受信)する。
 また、通信部818および通信部827は、優先制御部710と優先制御部720とが互いにやり取りする、対応する処理ブロックにおける処理の進行状況を観測した情報や、対応する処理ブロックがDRAMにアクセスする際の優先度を制御した情報も通信(送受信)する。このとき、通信部818および通信部827は、図11に示した情報経路で、対応する優先制御部と別の優先制御部とが互いの情報(以下、「転送情報」という)をやり取りする。このため、バス調停システム80では、図11に示した優先制御部710と通信部818との間の情報経路、通信部818と通信部827との間の通信経路、および通信部827と優先制御部720との間の情報経路を合わせた経路が、第5の実施形態のバス調停システム70における情報経路(図10参照)に相当することになる。
 なお、通信部818と通信部827とが互いに通信(送受信)するアクセス要求とデータとの形式としては、様々な形式が考えられる。つまり、通信部818と通信部827とは、パラレルの形式でアクセス要求とデータとを通信(送受信)してもよいし、シリアルの形式でアクセス要求とデータとを通信(送受信)してもよい。例えば、通信部818と通信部827とは、第5の実施形態におけるバス調停システム70に備えたバスコントローラ218やバスコントローラ227と同様に、PCI-Expressなどの予め定めた高速シリアルバス仕様の伝送方式に従った形式でアクセス要求とデータとを通信(送受信)してもよい。また、通信部818と通信部827とは、第5の実施形態におけるバス調停システム70に備えたバスコントローラ218やバスコントローラ227と同様に、MIPI(登録商標)仕様やAXI仕様など、予め定めた種々の仕様に従った形式でアクセス要求とデータとを通信(送受信)してもよい。なお、本発明においては、通信部818と通信部827との間の通信の方式や、通信部818と通信部827とが互いに通信(送受信)するアクセス要求とデータとの形式に関しては、特に制限はしない。
 なお、通信部818および通信部827におけるアクセス要求とデータ(転送情報も含む)との通信(送受信)の動作は、既存の通信の技術に基づいて容易に考えることができる。また、通信部818および通信部827におけるアクセス要求とデータ(転送情報も含む)との通信(送受信)の動作は、バスシステムチップ81とバスシステムチップ82との通信をする、つまり、バスシステムチップ間での通信をするものの、第5の実施形態におけるバス調停システム70に備えた対応するバスコントローラ218およびバスコントローラ227におけるアクセス要求とデータとの受け渡しの動作に置き換えて考えることもできる。従って、通信部818および通信部827におけるアクセス要求とデータとの通信(送受信)の動作に関する詳細な説明は、省略する。
 このような構成によって、撮像装置6は、イメージセンサ10によって被写体の静止画像や動画像を撮影し、撮影した静止画像や動画像に応じた表示画像を表示デバイス30に表示させる。また、撮像装置6は、イメージセンサ10によって撮影した静止画像や動画像に応じた記録画像を、不図示の記録媒体に記録させることもできる。
 また、撮像装置6では、バスシステムチップ81内の優先制御部710、バス調停部614、および通信調停部817と、バスシステムチップ82内の優先制御部720、バス調停部623、および通信調停部826とで、第6の実施形態のバス調停装置を構成する。つまり、2つのデータバス(データバス210およびデータバス220)が設けられた2つのシステムLSIの構成の第6の実施形態のバス調停システム80のシステムにおいて、それぞれのデータバスに接続された処理ブロックの優先度を整合させてメモリへのアクセスを調停する第6の実施形態のバス調停装置が構成される。
 また、第6の実施形態のバス調停装置では、それぞれのバスシステムチップ(より具体的には、バスシステムチップ81およびバスシステムチップ82)ごと、つまり、それぞれのデータバス(より具体的には、データバス210およびデータバス220)ごとに優先制御部(より具体的には、優先制御部710および優先制御部720)を備える。そして、第6の実施形態のバス調停装置では、それぞれのバスシステムチップにおいて、それぞれの処理ブロック、バス調停部(より具体的には、バス調停部614およびバス調停部623)、およびバス調停部(より具体的には、通信調停部817および通信調停部826)が、現在の処理の進行状況の情報を、優先制御部に通知する。そして、第6の実施形態のバス調停装置では、それぞれのバスシステムチップにおいて、優先制御部が、対応するデータバスに接続されたそれぞれの処理ブロックにおける処理の進行状況をリアルタイムに観測する。また、第6の実施形態のバス調停装置では、それぞれのバスシステムチップに備えた優先制御部が、互いの情報をやり取りする。そして、第6の実施形態のバス調停装置では、それぞれのバスシステムチップにおいて、優先制御部が、観測したそれぞれの処理ブロックにおける現在の処理の進行状況と、やり取りした別のバスシステムチップ内の優先制御部の情報に基づいて、対応するそれぞれの処理ブロックの優先度を動的に制御する。これにより、第6の実施形態のバス調停装置では、それぞれのバスシステムチップにおいて、バス調停部と通信調停部とのそれぞれが、優先制御部によって制御された優先度に基づいて、対応するデータバスに接続されたそれぞれの処理ブロックからのメモリへのアクセス要求を、処理ブロックの進行状況に応じて優先的に受け付ける(許可する)。これにより、第6の実施形態のバス調停装置を備えた第6の実施形態のバス調停システム80では、それぞれのバスシステムチップにおいて、データバスに接続されたそれぞれの処理ブロックからのメモリへのアクセス要求を、別のバスシステムチップのデータバスと整合させて、メモリへのアクセスを調停することができる。このことにより、第6の実施形態のバス調停装置を備えた第6の実施形態のバス調停システム80では、それぞれのバスシステムチップに備えた処理ブロックが、別のバスシステムチップのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのバスシステムチップ内のデータバスにおけるデータの流れ、つまり、データバスのバス帯域を確保することができる。
 このことにより、第6の実施形態のバス調停装置を備えた第6の実施形態のバス調停システム80では、それぞれのバスシステムチップにおいて、それぞれのデータに対して滞りなく処理をすることができ、第6の実施形態のバス調停システム80を搭載した撮像装置6のシステム全体としてのデータの処理時間を保証することができる。
 なお、図11の示したバス調停システム80では、優先制御部710と優先制御部720とのそれぞれが、通信部818と通信部827とを経由して、互いの情報(転送情報)をやり取りする構成を示した。しかし、バス調停システム80において優先制御部710と優先制御部720との間で転送情報を互いにやり取りする方法は、通信部818と通信部827とを経由する方法に限定されるものではない。例えば、優先制御部710と優先制御部720とは、さらに通信調停部817と通信調停部826とのそれぞれも経由して、転送情報をやり取りする構成であってもよい。この場合、優先制御部710と優先制御部720とのそれぞれは、対応する通信調停部に、転送情報を転送するアクセス要求を出力する。そして、通信調停部817と通信調停部826とのそれぞれは、対応する優先制御部からの転送情報の転送のアクセス要求も調停し、アクセス要求を受け付けたときに、転送情報を対応する通信部に出力(転送)する。これにより、通信部818と通信部827とのそれぞれは、対応する通信調停部から出力(転送)された転送情報を通信(送受信)する。
 ここで、バス調停システム80の動作の一例について説明する。図12は、本発明の第6の実施形態のバス調停装置を備えたバス調停システム80を搭載した撮像装置6における動作の一例を示した図である。図12には、撮像処理部211が撮像処理を施した撮像処理画像データに対して、画像処理部613と画像処理部622とが連携して画像処理をする場合の動作の一例を示している。なお、図12に示した撮像装置6における動作の一例は、それぞれの処理ブロックが、図9に示した第4の実施形態の撮像装置4における動作の一例と同様の処理をする動作である。なお、図12には、図9に示した第4の実施形態のバス調停装置を備えたバス調停システム60を搭載した撮像装置4における動作の一例と同様に、バス調停システム80に備えたそれぞれの処理ブロックが対応するデータに対して処理をしている期間など、それぞれの構成要素が動作している期間、およびそれぞれのデータに対するアクセス(書き込みや読み出し)がされている期間を示している。
 まず、優先制御部710は、例えば、撮像装置6の動作モードに基づいて、バス調停システム80に備えたそれぞれの処理ブロックの初期値の優先度を決定し、決定した優先度をバスシステムチップ81内のバス調停部614と通信調停部817とのそれぞれに設定する。そして、優先制御部710は、初期値の優先度を通信部818に出力する。これにより、初期値の優先度が、通信部818と通信部827とを経由して、優先制御部720に転送(送信)される。そして、優先制御部720は、優先制御部710から転送(送信)されてきた初期値の優先度を、バスシステムチップ82内のバス調停部623および通信調停部826とのそれぞれに設定する。なお、優先制御部710における初期値の優先度の設定方法は、第1の実施形態におけるバス調停システム20に備えたCPU23と同様に、撮像装置6の動作モードが決定し、かつ、それぞれの処理ブロックが動作を開始する前にそれぞれの処理ブロックの初期値の優先度を決定する。そして、優先制御部710は、決定した初期値の優先度をバス調停部614と通信調停部817とのそれぞれに設定すると共に、通信部818に出力してバスシステムチップ82に転送(送信)し、優先制御部720に、バス調停部623および通信調停部826とのそれぞれに設定させる。
 その後、バス調停システム80において、それぞれの処理ブロックが、それぞれのフレームに対する処理を開始する。なお、上述したように、それぞれの処理ブロックにおける処理は、図9に示した第4の実施形態の撮像装置4の動作におけるそれぞれの処理ブロックの処理と同様である。従って、以下の説明においては、説明を容易にするため、それぞれの処理ブロックの動作に関する詳細な説明は省略し、優先制御部710と優先制御部720との間で互いにやり取りする転送情報に関する処理に着目して、それぞれの動作を説明する。
 優先制御部720は、優先制御部710から転送(送信)されてきた初期値の優先度をバス調停部623および通信調停部826とのそれぞれに設定した後、画像処理部622とバス調停部626との処理の進行状況を観測する。そして、優先制御部720は、観測した処理の進行状況の情報を、転送情報として通信部827に出力する。これにより、バスシステムチップ82内の処理ブロックにおける処理の進行状況の情報が、通信部827と通信調停部817とを経由して、優先制御部710に転送(送信)される。
 優先制御部710は、観測した画像処理部613とバス調停部617との処理の進行状況と、優先制御部720から転送(送信)されてきた画像処理部622とバス調停部626との処理の進行状況とに基づいて、バス調停システム80に備えたそれぞれの処理ブロックの優先度を制御する。つまり、優先制御部710は、自身が配置されているバスシステムチップ81に備えたそれぞれの処理ブロックにおける処理の進行状況のみではなく、バスシステムチップ82に備えたそれぞれの処理ブロックにおける処理の進行状況を反映した状態で、バス調停システム80に備えたそれぞれの処理ブロックの優先度を制御する。そして、優先制御部710は、制御する優先度をバスシステムチップ81内のバス調停部614と通信調停部817とのそれぞれに設定すると共に、通信部818に出力する。これにより、優先制御部710が制御した優先度が、通信部818と通信部827とを経由して、優先制御部720に転送(送信)される。そして、優先制御部720は、優先制御部710によって制御されて転送(送信)されてきた優先度を、バスシステムチップ82内のバス調停部623および通信調停部826とのそれぞれに設定する。
 なお、図12には、予め定めた優先度反映間隔ごとに、優先制御部710が、バス調停システム80に備えたそれぞれの処理ブロックの優先度を制御する場合を示している。このため、優先制御部710は、優先度反映間隔ごとに、制御した優先度を優先制御部720に転送(送信)する。このため、優先制御部720は、優先制御部710が制御した優先度が転送(送信)されてから、次に制御した優先度が転送(送信)されてくるまでの間に、観測した画像処理部622とバス調停部626との処理の進行状況を、優先制御部710に転送(送信)するようにしてもよい。
 このような動作によって、バス調停システム80では、バスシステムチップ81に備えた優先制御部710が、バスシステムチップ82に備えた優先制御部720から転送(送信)されてきた転送情報に基づいて、バス調停システム80に備えたそれぞれの処理ブロックの優先度を動的に制御する。
 なお、図12では、バスシステムチップ81に備えた優先制御部710がバス調停システム80に備えたそれぞれの処理ブロックの優先度を動的に制御する場合の動作を説明したが、バス調停システム80では、優先制御部720がバス調停システム80に備えたそれぞれの処理ブロックの優先度を動的に制御する構成にしてもよい。この場合の動作は、図12における優先制御部710と優先制御部720とのそれぞれの動作を逆にすることで、容易に考えることができる。従って、優先制御部720がバス調停システム80に備えたそれぞれの処理ブロックの優先度を動的に制御する動作に関する詳細な説明は、省略する。
 このように、第6の実施形態のバス調停装置では、バス調停システム80を構成するバスシステムチップ81およびバスシステムチップ82のそれぞれに備えた優先制御部が、対応する処理ブロックおよび通信調停部(より具体的には、通信調停部817および通信調停部826)における処理の進行状況を観測する。そして、第6の実施形態のバス調停装置では、バス調停システム80を構成する一方のバスシステムチップ(例えば、バスシステムチップ82)に備えた優先制御部が、観測した処理の進行状況の情報(転送情報)を他方のバスシステムチップ(例えば、バスシステムチップ81)に転送(送信)する。そして、一方のバスシステムチップに備えた優先制御部が観測した処理の進行状況の情報(転送情報)を受け取った(受信した)他方のバスシステムチップに備えた優先制御部は、自身が観測した処理の進行状況と、受け取った(受信した)一方のバスシステムチップの処理の進行状況とに基づいて、バス調停システム80に備えたそれぞれの処理ブロックの優先度を動的に制御する。これにより、第6の実施形態のバス調停装置を備えた第6の実施形態のバス調停システム80では、それぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。このことにより、第6の実施形態のバス調停装置を備えた第6の実施形態のバス調停システム80では、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるバス帯域を確保することができる。このことにより、第6の実施形態のバス調停装置を備えた第6の実施形態のバス調停システム80では、それぞれの処理ブロックにおけるデータの処理時間を確保し、第6の実施形態のバス調停システム80を搭載した撮像装置6のシステム全体の動作を保証することができる。
 第6の実施形態によれば、第1のデータバス(データバス210)、データバス210に接続された複数の処理ブロック(撮像処理部211、画像処理部613、通信調停部817、表示処理部219)、第1のバス調停部(バス調停部614)、および第1の優先制御部(優先制御部710)は、第1の半導体基板(バスシステムチップ81)に配置され、第2のデータバス(データバス220)、データバス220に接続された複数の処理ブロック(画像処理部622、通信調停部826)、第2のバス調停部(バス調停部623)、および第2の優先制御部(優先制御部720)は、第2の半導体基板(バスシステムチップ82)に配置され、優先制御部710と優先制御部720とは、第1の処理ブロック(通信調停部817、通信部818を含めてもよい)および第2の処理ブロック(通信調停部826、通信部827を含めてもよい)を経由して、情報(転送情報)をやり取りする、バス調停装置(バス調停装置)が構成される。
 上述したように、第6の実施形態のバス調停装置では、2つのバスシステムを2つのシステムLSI(バスシステムチップ81およびバスシステムチップ82)で構成し、それぞれのバスシステムチップに優先制御部(優先制御部710または優先制御部720)を備える。つまり、第6の実施形態のバス調停装置では、バス調停システム80内のそれぞれのデータバスごとに優先制御部を備える。そして、第6の実施形態のバス調停装置では、それぞれの優先制御部が、対応するそれぞれの処理ブロックおよびバス調停部から通知されてきた現在の処理の進行状況の情報に基づいて、それぞれの処理ブロックにおける処理の進行状況をリアルタイムに観測する。そして、第6の実施形態のバス調停装置では、それぞれの優先制御部が観測したそれぞれの処理ブロックにおける処理の進行状況を、いずれか一方のバスシステムチップに転送(送信)する。つまり、第6の実施形態のバス調停装置では、それぞれの優先制御部が観測したそれぞれの処理ブロックにおける処理の進行状況を、いずれか一方のバスシステムチップに集約する。そして、第6の実施形態のバス調停装置では、それぞれの処理ブロックにおける処理の進行状況が集約された優先制御部が、バス調停システム80内のそれぞれの処理ブロックにおける優先度を動的に制御する。また、第6の実施形態のバス調停装置では、バス調停部614および通信調停部817と、バス調停部623および通信調停部826とのそれぞれが、対応する優先制御部から制御された対応する処理ブロックの優先度に基づいて、それぞれの処理ブロックによるメモリへのアクセス要求を調停する。これにより、第6の実施形態のバス調停装置を備えた第6の実施形態のバス調停システム80では、それぞれのデータバスごと(つまり、バスシステムチップごと)に、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。つまり、第6の実施形態のバス調停装置では、バス調停部614および通信調停部817と、バス調停部623および通信調停部826とのそれぞれが、対応する処理ブロックの処理の進行状況によって、処理ブロックに必要なバス帯域が変動する場合でも、それぞれの処理ブロックからのメモリへのアクセス要求が必要以上に待たされることがないように適切に調停することができる。
 このことにより、第6の実施形態のバス調停装置を備えた第6の実施形態のバス調停システム80では、それぞれの処理ブロックが互いのバスシステムチップ内のデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるバス帯域を確保することができる。このことにより、第6の実施形態のバス調停装置を備えた第6の実施形態のバス調停システム80では、それぞれのデータに対して滞りなく処理をすることができ、第6の実施形態のバス調停システム80を搭載した撮像装置6のシステム全体としての動作を保証することができる。
 上記に述べたように、本発明の各実施形態によれば、メモリを共有する複数の処理ブロックが接続されたデータバスが複数(実施形態では2つ)設けられた構成の本発明のバス調停システムにおいて、本発明のバス調停装置を構成する優先制御部が、それぞれのデータバスに対応する本発明のバス調停装置を構成するバス調停部がそれぞれの処理ブロックからのメモリへのアクセス要求を調停する際の優先度を制御する。また、本発明の各実施形態によれば、本発明のバス調停装置を構成する優先制御部が、それぞれのデータバスに接続された対応する処理ブロックの処理の進行状況を観測し、観測した処理の進行状況に基づいて、それぞれのデータバスに対応する本発明のバス調停装置を構成するバス調停部がそれぞれの処理ブロックからのメモリへのアクセス要求を調停する際の優先度を動的に制御する。これにより、本発明の各実施形態では、本発明のバス調停装置を備えた本発明のバス調停システムにおいて、本発明のバス調停装置を構成する優先制御部が、それぞれのデータバスごとに、対応するそれぞれの処理ブロックからのメモリへのアクセス要求を整合させて、メモリへのアクセスを調停することができる。
 このことにより、本発明の各実施形態では、本発明のバス調停装置を備えた本発明のバス調停システムにおいて、それぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする場合を含めて、それぞれのデータバスにおけるデータの流れ、つまり、データバスのバス帯域を確保することができる。このことにより、本発明の各実施形態では、本発明のバス調停装置を備えた本発明のバス調停システムにおいて、それぞれの処理ブロックが、それぞれのデータに対して滞りなく処理をすることができ、本発明のバス調停システムを搭載した本発明の撮像装置のシステム全体としてのデータの処理時間を保証することができる。つまり、本発明の各実施形態では、本発明のバス調停システムを搭載した本発明の撮像装置のシステムにおいて、画像データに対して滞りなく円滑に一連の画像処理をすることができ、システム全体の動作を保証することができる。
 なお、本発明の各実施形態では、本発明のバス調停システムが、2つのデータバスを備えた構成である場合について説明した。しかし、本発明のバス調停システムが備えるデータバスの数は、本発明の各実施形態において示した2つに限定されるものではない。つまり、バス調停システムに備えるデータバスの数がさらに多くなった場合でも、本発明のバス調停装置の考え方は、容易に適用することができ、本発明のバス調停装置、本発明のバス調停装置を備えたバス調停システム、本発明のバス調停システムを搭載した撮像装置と同様の効果を得ることができる。
 なお、本発明の各実施形態では、本発明のバス調停装置を備えた本発明のバス調停システムが、撮像装置に搭載される構成について説明した。しかし、メモリを共有する複数の処理ブロックが接続されたデータバスが複数設けられ、それぞれの処理ブロックからのメモリへのアクセス要求を調停するシステムは、本発明の各実施形態において示した撮像装置のシステムの他にも種々の処理装置やシステムが考えられる。従って、本発明の考え方に基づいたバス調停装置やこのバス調停装置を備えたバス調停システムを適用することができる処理装置やシステムは、何ら限定されるものではない。すなわち、複数のデータバスを備え、それぞれのデータバスに接続されたそれぞれの処理ブロックが互いのデータバスを経由してデータのやり取りをする処理装置やシステムであれば、いかなる処理装置やシステムであっても、本発明のバス調停装置や本発明のバス調停装置を備えたバス調停システムにおける考え方を同様に適用することができる。そして、この処理装置やシステムでも、本発明のバス調停装置や本発明のバス調停装置を備えたバス調停システムと同様の効果を得ることができる。
 以上、本発明の好ましい実施形態を説明したが、本発明はこれら実施形態およびその変形例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更をすることができる。
 また、本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。
 上記各実施形態によれば、メモリを共有する複数の処理ブロックが接続されたデータバスが複数設けられた構成のシステムにおいて、それぞれのデータバスに接続された処理ブロックの優先度を整合させてメモリへのアクセスを調停することができる。
 1,2,3,4,5,6 撮像装置
 10 イメージセンサ
 20,40,50,60,70,80 バス調停システム
 30 表示デバイス
 21,41,51,61,71 バスシステム
 210 データバス(データバス,第1のデータバス)
 211,411 撮像処理部(処理ブロック)
 212,412 デジタルシグナルプロセッサ(処理ブロック)
 213,413,513,613 画像処理部(処理ブロック)
 214,414,614 バス調停部(バス調停装置,第1のバス調停部)
 214R レジスタ
 215 メモリ制御部
 216 DRAM(メモリ,第1のメモリ)
 217,417,617 バス調停部(バス調停装置,第1のバス調停部,処理ブロック,第1の処理ブロック)
 217R,417R レジスタ
 218 バスコントローラ(処理ブロック,第1の処理ブロック)
 219,419 表示処理部(処理ブロック)
 22,42,52,62,72 バスシステム
 220 データバス(データバス,第2のデータバス)
 221,421 デジタルシグナルプロセッサ(処理ブロック)
 222,422,522,622 画像処理部(処理ブロック)
 223,423,623 バス調停部(バス調停装置,第2のバス調停部)
 223R レジスタ
 224 メモリ制御部
 225 DRAM(メモリ,第2のメモリ)
 226,426,626 バス調停部(バス調停装置,第2のバス調停部,処理ブロック,第2の処理ブロック)
 226R,426R レジスタ
 227 バスコントローラ(処理ブロック,第2の処理ブロック)
 23,43 CPU(バス調停装置,優先制御部)
 411R レジスタ
 412R レジスタ
 4131,4132,4133 画像処理モジュール(処理ブロック)
 4131R,4132R,4133R レジスタ
 4134,4135 セレクタ
 419R レジスタ
 421R レジスタ
 4222,4221 セレクタ
 4223,4224,4225 画像処理モジュール(処理ブロック)
 4223R,4224R,4225R レジスタ
 5131,5132,5133 画像処理モジュール(処理ブロック)
 513R レジスタ
 5223,5224,5225 画像処理モジュール
 522R レジスタ
 63 優先制御部(バス調停装置,優先制御部)
 710 優先制御部(バス調停装置,優先制御部,第1の優先制御部)
 720 優先制御部(バス調停装置,優先制御部,第2の優先制御部)
 81 バスシステムチップ(第1の半導体基板)
 817 通信調停部(バス調停装置,第1のバス調停部,処理ブロック,第1の処理ブロック)
 818 通信部(処理ブロック,第1の処理ブロック)
 82 バスシステムチップ(第2の半導体基板)
 826 通信調停部(バス調停装置,第2のバス調停部,処理ブロック,第2の処理ブロック)
 827 通信部(処理ブロック,第2の処理ブロック)

Claims (10)

  1.  少なくとも1つのメモリと前記メモリを共有する複数の処理ブロックとが接続された複数のデータバスにおいて、それぞれの前記処理ブロックによるいずれかの前記メモリへのアクセスを調停するバス調停装置であって、
     第1のメモリが接続された前記データバスである第1のデータバスにおいて、前記処理ブロックから出力された前記第1のメモリへのアクセス要求を調停する第1のバス調停部と、
     第2のメモリが接続された前記データバスである第2のデータバスにおいて、前記処理ブロックから出力された前記第2のメモリへのアクセス要求を調停する第2のバス調停部と、
     前記第1のメモリへの前記アクセス要求と、前記第2のメモリへの前記アクセス要求とを含めて、前記第1のバス調停部と前記第2のバス調停部とのそれぞれが前記アクセス要求を受け付ける際の優先度を制御する優先制御部と、
     を備える、
     バス調停装置。
  2.  前記第1のデータバスに接続された複数の前記処理ブロックは、
     前記第2のメモリにアクセスする第1の処理ブロックを含み、
     前記第2のデータバスに接続された複数の前記処理ブロックは、
     前記第1のメモリにアクセスする第2の処理ブロックを含み、
     前記優先制御部は、
     前記第1の処理ブロックから出力された前記アクセス要求と、前記第2の処理ブロックから出力された前記アクセス要求とを含めて、前記第1のバス調停部と前記第2のバス調停部とのそれぞれが受け付ける前記アクセス要求の前記優先度を制御する、
     請求項1に記載のバス調停装置。
  3.  前記優先制御部は、
     それぞれの前記処理ブロックにおける処理の進行状況を観測し、観測した結果に基づいて、それぞれの前記処理ブロックが出力した前記アクセス要求を受け付ける前記優先度を制御する、
     請求項2に記載のバス調停装置。
  4.  前記優先制御部は、
     前記第1のバス調停部と前記第2のバス調停部とのそれぞれに前記優先度を設定し、
     前記第1のバス調停部と前記第2のバス調停部とのそれぞれは、設定された前記優先度に基づいて、対応する前記メモリに対する前記アクセス要求を受け付ける前記処理ブロックを決定する、
     請求項2または請求項3に記載のバス調停装置。
  5.  前記優先制御部は、
     前記処理ブロックのそれぞれに前記優先度を設定し、
     前記第1のバス調停部と前記第2のバス調停部とのそれぞれは、前記処理ブロックから出力された前記優先度に基づいて、対応する前記メモリに対する前記アクセス要求を受け付ける前記処理ブロックを決定する、
     請求項2または請求項3に記載のバス調停装置。
  6.  前記優先制御部は、
     前記第1の処理ブロックおよび前記第2の処理ブロックを経由して、前記第1のバス調停部と前記第2のバス調停部とのそれぞれが受け付ける前記アクセス要求の前記優先度を制御する、
     請求項2から請求項5のいずれか1項に記載のバス調停装置。
  7.  前記優先制御部は、
     前記第1のバス調停部が受け付ける前記アクセス要求の前記優先度を制御する第1の優先制御部と、
     前記第2のバス調停部が受け付ける前記アクセス要求の前記優先度を制御する第2の優先制御部と、
     から構成され、
     前記第1の優先制御部と前記第2の優先制御部とは、
     前記優先度を制御するための情報を互いにやり取りし、やり取りした前記情報に基づいて、対応するバス調停部が受け付ける前記アクセス要求の前記優先度を制御する、
     請求項2から請求項6のいずれか1項に記載のバス調停装置。
  8.  前記第1のデータバス、前記第1のデータバスに接続された複数の前記処理ブロック、前記第1のバス調停部、および前記第1の優先制御部は、第1の半導体基板に配置され、
     前記第2のデータバス、前記第2のデータバスに接続された複数の前記処理ブロック、前記第2のバス調停部、および前記第2の優先制御部は、第2の半導体基板に配置され、
     前記第1の優先制御部と前記第2の優先制御部とは、
     前記第1の処理ブロックおよび前記第2の処理ブロックを経由して、前記情報をやり取りする、
     請求項7に記載のバス調停装置。
  9.  少なくとも1つのメモリと前記メモリを共有する複数の処理ブロックとが接続された複数のデータバスにおいて、それぞれの前記処理ブロックによるいずれかの前記メモリへのアクセスを調停するバス調停装置であって、
     第1のメモリが接続された前記データバスである第1のデータバスにおいて、前記処理ブロックから出力された前記第1のメモリへのアクセス要求を調停する第1のバス調停部と、
     第2のメモリが接続された前記データバスである第2のデータバスにおいて、前記処理ブロックから出力された前記第2のメモリへのアクセス要求を調停する第2のバス調停部と、
     前記第1のメモリへの前記アクセス要求と、前記第2のメモリへの前記アクセス要求とを含めて、前記第1のバス調停部と前記第2のバス調停部とのそれぞれが前記アクセス要求を受け付ける際の優先度を制御する優先制御部と、
     を具備したバス調停装置、
     を備える、
     バス調停システム。
  10.  少なくとも1つのメモリと前記メモリを共有する複数の処理ブロックとが接続された複数のデータバスにおいて、それぞれの前記処理ブロックによるいずれかの前記メモリへのアクセスを調停するバス調停装置であって、
     第1のメモリが接続された前記データバスである第1のデータバスにおいて、前記処理ブロックから出力された前記第1のメモリへのアクセス要求を調停する第1のバス調停部と、
     第2のメモリが接続された前記データバスである第2のデータバスにおいて、前記処理ブロックから出力された前記第2のメモリへのアクセス要求を調停する第2のバス調停部と、
     前記第1のメモリへの前記アクセス要求と、前記第2のメモリへの前記アクセス要求とを含めて、前記第1のバス調停部と前記第2のバス調停部とのそれぞれが前記アクセス要求を受け付ける際の優先度を制御する優先制御部と、
     を具備したバス調停装置を備えるバス調停システム、
     を備える、
     撮像装置。
PCT/JP2018/025196 2018-07-03 2018-07-03 バス調停装置、バス調停システム、および撮像装置 WO2020008522A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/025196 WO2020008522A1 (ja) 2018-07-03 2018-07-03 バス調停装置、バス調停システム、および撮像装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/025196 WO2020008522A1 (ja) 2018-07-03 2018-07-03 バス調停装置、バス調停システム、および撮像装置

Publications (1)

Publication Number Publication Date
WO2020008522A1 true WO2020008522A1 (ja) 2020-01-09

Family

ID=69059440

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/025196 WO2020008522A1 (ja) 2018-07-03 2018-07-03 バス調停装置、バス調停システム、および撮像装置

Country Status (1)

Country Link
WO (1) WO2020008522A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334693A (ja) * 2006-06-15 2007-12-27 Canon Inc バス調停装置及び方法
JP2013025674A (ja) * 2011-07-25 2013-02-04 Kyocera Document Solutions Inc 情報処理装置及び画像形成装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334693A (ja) * 2006-06-15 2007-12-27 Canon Inc バス調停装置及び方法
JP2013025674A (ja) * 2011-07-25 2013-02-04 Kyocera Document Solutions Inc 情報処理装置及び画像形成装置

Similar Documents

Publication Publication Date Title
US10241721B2 (en) Image processing device and image processing method
JP6676162B2 (ja) メモリアクセス制御装置、画像処理装置、および撮像装置
US9645957B2 (en) Data processing device and data transfer control device
CN110678897B (zh) 图像处理装置及摄像装置
US20190324646A1 (en) Memory access device, image-processing device, and imaging device
JP2010134743A (ja) 画像処理装置
US10719458B2 (en) Data transfer device, image processing device, and imaging device
JP6539509B2 (ja) データ転送装置およびデータ転送方法
WO2020008522A1 (ja) バス調停装置、バス調停システム、および撮像装置
JP2011130074A (ja) 画像処理システム、画像処理装置、画像処理方法及びプログラム
US10277811B2 (en) Display control device and imaging device
US11314664B2 (en) Memory access device, image processing device and imaging device
WO2019043822A1 (ja) メモリアクセス装置、画像処理装置、および撮像装置
US9672174B2 (en) Data-processing apparatus and data transfer control device
US10452583B2 (en) Data transfer device and data transfer method having a shorter time interval between pieces of final transfer data in a frame image
JP5798375B2 (ja) 全周カメラ
JP2018182551A (ja) 撮像装置
JP3494436B2 (ja) 画像処理装置
JP2015053645A (ja) 撮像装置
JP2010218379A (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: 18925533

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18925533

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP