WO2022097434A1 - 信号処理装置、信号処理方法、および撮像装置 - Google Patents

信号処理装置、信号処理方法、および撮像装置 Download PDF

Info

Publication number
WO2022097434A1
WO2022097434A1 PCT/JP2021/037795 JP2021037795W WO2022097434A1 WO 2022097434 A1 WO2022097434 A1 WO 2022097434A1 JP 2021037795 W JP2021037795 W JP 2021037795W WO 2022097434 A1 WO2022097434 A1 WO 2022097434A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal processing
data
processing
units
additional information
Prior art date
Application number
PCT/JP2021/037795
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 US18/033,745 priority Critical patent/US20230393897A1/en
Publication of WO2022097434A1 publication Critical patent/WO2022097434A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/45Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from two or more image sensors being of different type or operating in different modes, e.g. with a CMOS sensor for moving images in combination with a charge-coupled device [CCD] for still images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/82Architectures of general purpose stored program computers data or demand driven
    • G06F15/825Dataflow computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Definitions

  • the present disclosure relates to a signal processing device, a signal processing method, and an imaging device that perform signal processing for each of a plurality of data.
  • camera-equipped devices such as smartphones are being equipped with a plurality of types of sensors such as RGB sensors, black-and-white sensors, ranging sensors, and deflection sensors.
  • a camera-mounted device there are cases where different signal processing is required for each type of a plurality of sensors, and there are cases where it is possible for a plurality of sensors to perform common signal processing.
  • signal processing is performed.
  • the hardware that performs the above is prepared as a dedicated block for each sensor. Therefore, as the number of sensors increases, the hardware scale increases.
  • there is a method of sharing a signal processing system block among a plurality of sensors by using a CPU (Central Processing Unit) or a DFP (Data Flow Processor) dedicated to data flow (see Patent Document 1).
  • CPU Central Processing Unit
  • DFP Data Flow Processor
  • the signal processing apparatus has a plurality of data to which additional information required for signal processing is added and output to each of a plurality of data input from each of the plurality of external devices. It includes an input unit and a plurality of stages of processing units, each of which is configured to be capable of performing common signal processing for each of a plurality of data based on additional information.
  • the signal processing method is to add and output additional information required for signal processing to each of a plurality of data input from each of the plurality of external devices.
  • Each of the plurality of stages of processing units includes performing common signal processing for each of the plurality of data based on the additional information.
  • the image pickup apparatus adds additional information required for signal processing to each of a plurality of sensors and a plurality of data input from each of the plurality of sensors and outputs the data.
  • Each of the plurality of input units is provided with a plurality of stages of processing units configured to be capable of performing common signal processing for each of the plurality of data based on additional information.
  • a plurality of data in each of the plurality of stages of processing units, a plurality of data can be obtained based on additional information added to each of the plurality of data. Common signal processing is performed for each.
  • FIG. 1 shows a configuration example of a signal processing device 100 according to a comparative example.
  • FIG. 1 shows a configuration example in which data output from a plurality of sensors 10A, 10B, 10C as a plurality of external devices is processed.
  • Each of the plurality of sensors 10A, 10B, and 10C outputs, for example, image data.
  • the plurality of external devices and the signal processing device 100 may constitute an image pickup device as a whole.
  • the signal processing device 100 includes a plurality of image input units 21A, 21B, 21C provided corresponding to each of the plurality of sensors 10A, 10B, 10C. Data from each of the plurality of sensors 10A, 10B, 10C is input to each of the plurality of image input units 21A, 21B, 21C.
  • the signal processing device 100 further includes a CPU 2, a DFP 3, a plurality of stages of signal processing hardware, and a plurality of SW processing units (software) 40A, 40B, 40C.
  • the plurality of SW processing units 40A, 40B, 40C are provided corresponding to each of the plurality of sensors 10A, 10B, 10C, respectively. Data after signal processing by the hardware of the signal processing system of a plurality of stages is input to each of the plurality of SW processing units 40A, 40B, and 40C.
  • FIG. 1 shows a configuration example in which a multi-stage ISP (Image Signal Processor) 31A, 31B, 31C that performs image processing exists as hardware of a multi-stage signal processing system.
  • the multiple stages of ISPs 31A, 31B, and 31C are shared by the plurality of sensors 10A, 10B, and 10C, respectively, and signal processing (process A, process B, process C) shared for each of the plurality of data. It is possible to do.
  • ISP Image Signal Processor
  • the DFP3 is controlled by CPU2.
  • the DFP3 controls the set values and operation timings (data flow) of the plurality of image input units 21A, 21B, 21C and the plurality of stages of ISPs 31A, 31B, 31C.
  • the multi-stage ISPs 31A, 31B, 31C signal the data from the plurality of sensors 10A, 10B, 10C input via the plurality of sensors 10A, 10B, 10C in a time-division manner according to the control of DFP3. Perform processing.
  • FIG. 2 schematically shows a configuration example of the signal processing device 1 according to the first embodiment of the present disclosure.
  • the description of the portion having the same configuration and operation as that of the signal processing apparatus 100 according to the comparative example of FIG. 1 will be omitted as appropriate.
  • FIG. 2 shows a configuration example in which data output from a plurality of sensors 10A, 10B, 10C as a plurality of external devices is processed, similarly to the signal processing device 100 according to the comparative example.
  • Each of the plurality of sensors 10A, 10B, and 10C outputs, for example, image data.
  • the plurality of external devices and the signal processing device 1 may constitute an image pickup device as a whole.
  • the signal processing device 1 includes a plurality of input units 20A, 20B, 20C provided corresponding to each of the plurality of sensors 10A, 10B, 10C. Data from each of the plurality of sensors 10A, 10B, 10C is input to each of the plurality of input units 20A, 20B, 20C.
  • the signal processing device 1 further includes a CPU 2, a plurality of stages of signal processing hardware, and a plurality of SW processing units 40A, 40B, 40C.
  • the plurality of external devices may be configured with two or four or more. Further, the number of the plurality of input units 20A, 20B, 20C may be two or four or more depending on the number of the plurality of external devices. Similarly, the number of the plurality of SW processing units 40A, 40B, 40C may be two or four or more depending on the number of the plurality of external devices.
  • FIG. 2 shows a configuration example in which a plurality of stages of processing units 30A, 30B, and 30C exist as hardware of a plurality of stages of signal processing system.
  • the multi-stage processing units 30A, 30B, and 30C are shared with the plurality of sensors 10A, 10B, and 10C, respectively, and signal processing (process A, processing B, processing) shared for each of the plurality of data. C) can be performed.
  • the number of hardware of the multi-stage signal processing system may be two or four or more.
  • the plurality of input units 20A, 20B, 20C have a plurality of image input units 21A, 21B, 21C, respectively.
  • the multi-stage processing units 30A, 30B, and 30C each have a plurality of stages of ISPs 31A, 31B, and 31C.
  • FIG. 3 shows an example of a configuration of the input unit 20x in the signal processing device 1.
  • the input unit 20x indicates any one of the plurality of input units 20A, 20B, 20C.
  • the image input unit 21x indicates any one of the plurality of image input units 21A, 21B, 21C.
  • Each of the plurality of input units 20A, 20B, 20C generates data in which additional information required for signal processing is added to each of the plurality of data input from each of the plurality of sensors 10A, 10B, 10C. And output.
  • Each of the plurality of input units 20A, 20B, 20C has a packet generation unit 22 as a first packet generation unit in the output stage of the plurality of image input units 21A, 21B, 21C.
  • the packet generation unit 22 generates a packet of each of the plurality of data input from each of the plurality of sensors 10A, 10B, and 10C, adds additional information to the packet as a header, and outputs the packet.
  • the additional information includes instruction information indicating a routing instruction as to which processing unit is used for signal processing for each of a plurality of data among the plurality of stages of processing units 30A, 30B, and 30C. It may be included. Further, the additional information may include setting information indicating a setting value used for signal processing in each of the plurality of stages of processing units 30A, 30B, and 30C.
  • the CPU 2 serves as a controller that instructs each of the plurality of input units 20A, 20B, and 20C to use which of the processing units 30A, 30B, and 30C of the plurality of stages to perform signal processing. Has a role.
  • FIG. 4 shows a first configuration example of the processing unit 30x in the signal processing device 1.
  • the processing unit 30x indicates any one of the processing units 30A, 30B, and 30C having a plurality of stages.
  • ISP31x represents any one of the plurality of stages of ISP31A, 31B, 31C.
  • Each of the plurality of stages of processing units 30A, 30B, and 30C is configured to be capable of performing common signal processing for each of a plurality of data based on additional information.
  • the plurality of stages of processing units 30A, 30B, and 30C each have a packet analysis unit 32 and a packet generation unit 33 as a second packet generation unit.
  • the packet analysis unit 32 is provided in each input stage of the ISPs 31A, 31B, and 31C in a plurality of stages.
  • the packet generation unit 33 is provided in each output stage of the plurality of stages of ISPs 31A, 31B, and 31C.
  • the packet analysis unit 32 analyzes the header added to the packet and determines the set value to be used for signal processing in the ISP 31x.
  • the packet generation unit 33 generates a packet in which information used for signal processing of the processing unit of the next stage is added to the header as additional information among the ISPs 31A, 31B, and 31C of the plurality of stages.
  • FIG. 5 shows a second configuration example of the processing unit 30x in the signal processing device 1.
  • the additional information added by each of the plurality of input units 20A, 20B, 20C includes information indicating the priority of each signal processing of the plurality of data in each of the plurality of stages of processing units 30A, 30B, 30C. But it may be.
  • Each of the plurality of stages of processing units 30A, 30B, and 30C may have a queue processing unit 34 in the input stage of the packet analysis unit 32.
  • the queue processing unit 34 performs queue processing for each of a plurality of data, as will be described later, based on the information indicating the priority. As will be described later, the queue processing unit 34 may discard data having a relatively low priority among a plurality of data when a queue overflow occurs.
  • the CPU 2 may be a controller capable of adjusting the set values of each of the plurality of sensors 10A, 10B, and 10C. As will be described later, when a queue overflow occurs, the queue processing unit 34 may notify the CPU 2 that the queue overflow has occurred. The CPU 2 may adjust the set values of the plurality of sensors 10A, 10B, and 10C based on the notification from the queue processing unit 34.
  • any one of the plurality of stages of processing units 30A, 30B, 30C is applied to each of the plurality of input units 20A, 20B, 20C from the CPU 2.
  • each processing unit can automatically route and process the data without controlling from the CPU 2. It will be possible.
  • the signal processing device 1 By enabling the signal processing device 1 to perform data flow processing in the hardware of the signal processing system, it is not necessary to control the data flow by the CPU 2 or the DSP 3 (FIG. 1). As a result, even when the number of external devices is expanded to, for example, 10 or 20, processing can be performed without considering the rate-determining by the CPU 2 and the DSP 3.
  • FIG. 6 shows a first specific example of the configuration of the signal processing device 1 according to the first embodiment.
  • the signal processing device 1A according to the first specific example shown in FIG. 6 shows a configuration example in which data output from the RGB sensor 110A and the black and white sensor 110B is processed as a plurality of external devices.
  • the plurality of external devices and the signal processing device 1A may constitute an image pickup device as a whole.
  • the signal processing device 1A includes a plurality of input units 20A and 20B provided corresponding to the RGB sensor 110A and the black and white sensor 110B. Data from the RGB sensor 110A is input to the input unit 20A. Data from the black-and-white sensor 110B is input to the input unit 20B.
  • the signal processing device 1A further includes a CPU 2, a plurality of stages of signal processing hardware, and a plurality of SW processing units 40A and 40B.
  • FIG. 6 shows a configuration example in which a plurality of stages of processing units 30A, 30B, and 30C provided corresponding to the RGB sensor 110A exist as hardware of a plurality of stages of signal processing system. Further, FIG. 6 shows a configuration example in which one processing unit 30A provided corresponding to the black-and-white sensor 110B exists as the hardware of the signal processing system.
  • the input unit 20A is provided corresponding to the RGB sensor 110A by generating a packet in which additional information including a routing instruction or the like is added to the header Hd of the data Da from the RGB sensor 110A based on the instruction from the CPU 2. It is output to the processing unit 30A.
  • the input unit 20B is provided corresponding to the black-and-white sensor 110B by generating a packet in which additional information including a routing instruction and the like is added to the header Hd of the data Db from the black-and-white sensor 110B based on the instruction from the CPU 2. Output to the processing unit 30A.
  • the data Da from the processing unit 30A provided corresponding to the RGB sensor 110A and the data Db from the processing unit 30A provided corresponding to the black-and-white sensor 110B are commonly input to the processing unit 30B.
  • the processing unit 30B performs processing of the data Da and the data Db in a time division based on the additional information shown in the header Hd.
  • the processing unit 30B performs signal processing between the data Da and the data Db in a time division based on the additional information shown in the header Hd.
  • the processing unit 30B outputs the data Db after signal processing to the SW processing unit 40B.
  • the processing unit 30B outputs the data Da after signal processing to the processing unit 30C in the next stage.
  • the processing unit 30C outputs the data Da after signal processing to the SW processing unit 40A.
  • the processing units 30A, 30B, and 30C of the plurality of stages may each repeat signal processing a plurality of times.
  • noise reduction processing may be executed a plurality of times as signal processing.
  • FIG. 6 shows an example in which the processing unit 30C repeats signal processing a plurality of times.
  • FIG. 7 shows a second specific example of the configuration of the signal processing device 1 according to the first embodiment.
  • the signal processing device 1B according to the second specific example shown in FIG. 7 is a configuration example in which data output from RGB sensors 210A and RGB sensors 210B having different pixel sizes is processed as a plurality of external devices. show.
  • the plurality of external devices and the signal processing device 1B may constitute an image pickup device as a whole. Note that the CPU 2 is not shown in FIG. 7.
  • the RGB sensor 210A is a high-resolution image sensor with respect to the RGB sensor 210B.
  • FIG. 7 shows an example in which the pixel size of the RGB sensor 210A is, for example, 12Mpix, and the pixel size of the RGB sensor 210B is, for example, 4Mpix.
  • the signal processing device 1B includes a plurality of input units 20A and 20B provided corresponding to the RGB sensor 210A and the RGB sensor 210B. Data from the RGB sensor 110A is input to the input unit 20A. Data from the RGB sensor 210B is input to the input unit 20B.
  • the signal processing device 1B further includes a CPU 2 (not shown), a plurality of stages of signal processing hardware, and a plurality of SW processing units 40A and 40B.
  • FIG. 7 shows a case where a plurality of stages of processing units 30A, 30B, 30C, and 30D, which are commonly provided for each of the RGB sensor 210A and the RGB sensor 210B, are present as the hardware of the multi-stage signal processing system.
  • a configuration example is shown.
  • the processing unit 30A has a pretreatment unit 51A.
  • the processing unit 30B has a demosaic processing unit 51B.
  • the processing unit 30C has a Y (luminance) C (chroma) processing unit.
  • the processing unit 30D has a color adjusting unit 51D.
  • the input unit 20A generates a packet in which additional information including a routing instruction and the like is added to the header Hd of the data Da from the RGB sensor 210A based on the instruction from the CPU 2, and outputs the packet to the processing unit 30A.
  • the input unit 20B generates a packet in which additional information including a routing instruction and the like is added to the header Hd of the data Db from the RGB sensor 210B based on the instruction from the CPU 2, and outputs the packet to the processing unit 30A.
  • the multi-stage processing units 30A, 30B, 30C, and 30D each perform processing of data Da and data Db in a time division based on the additional information shown in the header Hd.
  • the processing unit 30D outputs the data Da after signal processing to the SW processing unit 40A, and outputs the data Db after signal processing to the SW processing unit 40A.
  • FIG. 8 schematically shows the operation timing of signal processing by the signal processing device according to the comparative example.
  • FIG. 8 shows, as an example, a case where a plurality of stages of processing units 30A, 30B, 30C, and 30D are controlled by DFP3 as a signal processing device according to a comparative example.
  • FIG. 9 schematically shows the operation timing of signal processing by the signal processing device 1B according to the second specific example.
  • the upper row shows an example of the timing of data output from each of the RGB sensors 210A and 210B.
  • data is continuously output from each of the RGB sensors 210A and 210B.
  • the lower part shows a timing example of signal processing by the DFP3 and the preprocessing unit 51A in the processing unit 30A.
  • the lower row shows a timing example of signal processing by the CPU 2 and the pre-processing unit 51A in the processing unit 30A.
  • control (kick) from DFP3 is required every time the data from each of the RGB sensors 210A and 210B is processed in time division in the preprocessing unit 51A. Therefore, the processing is rate-determining to the performance of DFP3.
  • the preprocessing unit 51A autonomously operates based on the additional information shown in the header Hd to perform signal processing. Therefore, when processing the data from each of the RGB sensors 210A and 210B in time division, control from the CPU 2 is unnecessary and the rate is not limited to the performance of the CPU 2.
  • FIG. 10 shows a third specific example of the configuration of the signal processing device 1 according to the first embodiment.
  • the signal processing device 1C according to the third specific example shown in FIG. 10 shows a configuration example in which data output from the RGB sensor 310A and the black and white sensor 310B is processed as a plurality of external devices.
  • the plurality of external devices and the signal processing device 1C may constitute an image pickup device as a whole. Note that the CPU 2 is not shown in FIG.
  • FIG. 10 shows an example in which the RGB sensor 310A and the black-and-white sensor 310B have the same pixel size, for example, 12Mpix.
  • the signal processing device 1C includes a plurality of input units 20A and 20B provided corresponding to the RGB sensor 310A and the black and white sensor 310B. Data from the RGB sensor 310A is input to the input unit 20A. Data from the black-and-white sensor 310B is input to the input unit 20B.
  • the signal processing device 1C further includes a CPU 2 (not shown), a plurality of stages of signal processing hardware, and a plurality of SW processing units 40A and 40B.
  • FIG. 10 shows a configuration example in which a multi-stage processing unit 30A, 30B, 30C, 30D provided corresponding to the RGB sensor 310A exists as the hardware of the multi-stage signal processing system. Further, FIG. 10 shows a configuration example in which a plurality of stages of processing units 30A and 30B provided corresponding to the black-and-white sensor 310B exist as the hardware of the signal processing system.
  • the processing unit 30A has a pretreatment unit 51A.
  • the processing unit 30B has a demosaic processing unit 51B.
  • the processing unit 30C has a Y (luminance) C (chroma) processing unit.
  • the processing unit 30D has a color adjusting unit 51D.
  • the input unit 20A is provided corresponding to the RGB sensor 310A by generating a packet in which additional information including a routing instruction or the like is added to the header Hd of the data Da from the RGB sensor 310A based on the instruction from the CPU 2. It is output to the processing unit 30A. Data Da from the processing unit 30A provided corresponding to the RGB sensor 110A is input to the processing unit 30B provided corresponding to the RGB sensor 310A.
  • the input unit 20B is provided corresponding to the black-and-white sensor 310B by generating a packet in which additional information including a routing instruction and the like is added to the header Hd of the data Db from the black-and-white sensor 310B based on the instruction from the CPU 2.
  • Data Db from the processing unit 30A provided corresponding to the black-and-white sensor 310B is input to the processing unit 30B provided corresponding to the black-and-white sensor 310B.
  • the data Da from the processing unit 30B provided corresponding to the RGB sensor 310A and the data Db from the processing unit 30B provided corresponding to the black-and-white sensor 310B are commonly input to the processing unit 30C.
  • the processing unit 30C performs signal processing of the data Da and the data Db in a time division based on the additional information shown in the header Hd, and outputs the data Da and the data Db after the signal processing to the processing unit 30D of the next stage. do.
  • the processing unit 30D performs processing of the data Da and the data Db in a time division based on the additional information shown in the header Hd.
  • the processing unit 30D outputs the data Da after signal processing to the SW processing unit 40A, and outputs the data Db after signal processing to the SW processing unit 40A.
  • the parts of the hardware of the multi-stage signal processing system that can be shared as signal processing can be shared.
  • the shared hardware when the data is processed in time division, control from the CPU 2 is unnecessary, and the rate is not limited to the performance of the CPU 2.
  • FIG. 11 shows a fourth specific example of the configuration of the signal processing device 1 according to the first embodiment.
  • the signal processing device 1D according to the fourth specific example shown in FIG. 11 shows a configuration example in which data output from the sensor 410A and the sensor 410B is processed as a plurality of external devices.
  • the plurality of external devices and the signal processing device 1D may constitute an image pickup device as a whole. Note that FIG. 11 omits the illustration of the CPU 2.
  • the sensor 410A and the sensor 410B are of any same type or different type among, for example, an RGB sensor, a black and white sensor, a polarization sensor, a multispectral sensor, a ToF (Time of Flight) sensor, and a DVS (Dynamic Vision Sensor) sensor. It may be a combination of a plurality of sensors.
  • the signal processing device 1D includes a plurality of input units 20A and 20B provided corresponding to the sensor 410A and the sensor 410B. Data from the sensor 410A is input to the input unit 20A. Data from the sensor 410B is input to the input unit 20B.
  • the signal processing device 1D further includes a CPU 2 (not shown), a plurality of stages of signal processing hardware, and a plurality of SW processing units 40A and 40B.
  • FIG. 11 shows a configuration example in which a plurality of stages of processing units 30A, 30B, 30C, and 30D provided corresponding to the sensor 410A exist as hardware of a plurality of stages of signal processing system. Further, FIG. 11 shows a configuration example in which a plurality of stages of processing units 30A and 30B provided corresponding to the sensor 410B exist as the hardware of the signal processing system.
  • the multi-stage processing units 30A, 30B, 30C, and 30D each have a plurality of stages of ISPs 31A, 31B, 31C, and 31D.
  • the plurality of stages of ISPs 31A, 31B, 31C, and 31D perform processing A, processing B, processing C, and processing D, respectively, as signal processing.
  • the input unit 20A generates a packet in which additional information including a routing instruction and the like is added to the header Hd of the data Da from the sensor 410A based on the instruction from the CPU 2, and the processing provided corresponding to the sensor 410A.
  • Data Da from the processing unit 30A provided corresponding to the sensor 410A is input to the processing unit 30B provided corresponding to the sensor 410A.
  • the input unit 20B generates a packet in which additional information including a routing instruction or the like is added to the header Hd of the data Db from the sensor 410B based on the instruction from the CPU 2, and the process provided corresponding to the sensor 410B.
  • Output to unit 30A Data Db from the processing unit 30A provided corresponding to the sensor 410B is input to the processing unit 30B provided corresponding to the sensor 410B.
  • the data Da from the processing unit 30B provided corresponding to the sensor 410A and the data Db from the processing unit 30B provided corresponding to the sensor 410B are commonly input to the processing unit 30C.
  • the processing unit 30C performs signal processing of the data Da and the data Db in a time division based on the additional information shown in the header Hd, and outputs the data Da and the data Db after the signal processing to the processing unit 30D of the next stage. do.
  • the processing unit 30D performs processing of the data Da and the data Db in a time division based on the additional information shown in the header Hd.
  • the processing unit 30D outputs the data Da after signal processing to the SW processing unit 40A, and outputs the data Db after signal processing to the SW processing unit 40A.
  • the parts that can be shared as signal processing among the hardware of the signal processing system of a plurality of stages can be shared.
  • the shared hardware when the data is processed in time division, control from the CPU 2 is unnecessary, and the rate is not limited to the performance of the CPU 2.
  • FIG. 12 shows a specific example of cue processing performed by the cue processing unit 34 in the signal processing device 1 according to the first embodiment.
  • Arbitrary processing unit 30x in the signal processing device 1 may have a queue processing unit 34 in the input stage of the packet analysis unit 32.
  • the queue processing unit 34 performs queue processing for each of the plurality of data based on the information indicating the priority added to the header Hd of the packet.
  • the processing unit 30x performs signal processing in order of priority. In this case, as shown in FIG. 12, when there are a plurality of packets having the same priority, the processing unit 30x performs signal processing in the order of time stamps, for example, and the queue processing unit in the next stage in the order of signal processing. A packet is output to 34.
  • FIG. 13 shows a fifth specific example of the configuration of the signal processing device 1 according to the first embodiment.
  • the configuration of the signal processing device 1E according to the fifth specific example may be substantially the same as the signal processing device 1B according to the second specific example shown in FIG. 7, except for the configuration related to the priority.
  • the signal processing device 1E shows a configuration example in which data output from RGB sensors 210A and RGB sensors 210B having different pixel sizes are processed as a plurality of external devices.
  • the plurality of external devices and the signal processing device 1E may constitute an image pickup device as a whole. Note that the CPU 2 is not shown in FIG.
  • the RGB sensor 210A is a high-resolution image sensor with respect to the RGB sensor 210B.
  • FIG. 13 shows an example in which the pixel size of the RGB sensor 210A is, for example, 12Mpix, and the pixel size of the RGB sensor 210B is, for example, 4Mpix.
  • the input unit 20A generates a packet in which additional information including a routing instruction and the like is added to the header Hd of the data Da from the RGB sensor 210A based on the instruction from the CPU 2, and outputs the packet to the processing unit 30A. Further, the input unit 20A includes information indicating the priority as additional information in the header Hd of the data Da based on the instruction from the CPU 2.
  • the input unit 20B generates a packet in which additional information including a routing instruction and the like is added to the header Hd of the data Db from the RGB sensor 210B based on the instruction from the CPU 2, and outputs the packet to the processing unit 30A. Further, the input unit 20B includes information indicating the priority as additional information in the header Hd of the data Db based on the instruction from the CPU 2.
  • the signal processing device 1E sets a high priority for the data Da from the RGB sensor 210A, which is a high-resolution image sensor, and gives priority to the data Db from the RGB sensor 210B, which is a low-resolution image sensor.
  • the degree may be set low so that high-resolution data Da may be processed preferentially.
  • FIG. 14 shows a specific example of cue processing performed by the cue processing unit 34 in the signal processing device 1 according to the first embodiment.
  • the queue processing unit 34 may discard data having a relatively low priority among a plurality of data.
  • FIG. 15 shows a sixth specific example of the configuration of the signal processing device 1 according to the first embodiment.
  • the configuration of the signal processing device 1F according to the sixth specific example is substantially the same as the signal processing device 1E according to the fifth specific example shown in FIG. 13, except for the configuration related to the processing when the queue overflow occurs. May be good.
  • the queue processing unit 34 may notify the CPU 2 that the queue overflow has occurred.
  • the CPU 2 may adjust the set values of the RGB sensor 210A and the RGB sensor 210B, which are a plurality of external devices, based on the notification from the queue processing unit 34.
  • the CPU 2 may adjust, for example, the set values of the resolution and the frame rate with respect to the RGB sensor 210A and the RGB sensor 210B.
  • FIG. 16 is an explanatory diagram showing an example of additional information (header information) added to the packet by the signal processing device 1 according to the first embodiment.
  • Lens information As the items of the header information added by the signal processing device 1, as shown in FIG. 16, for example, Lens information, image size, infrared filter, format, number of bits, gamma characteristic, NR characteristic, shutter time, Gain amount, and the like. It may contain time stamps, route information, and priority information.
  • the route information may include "next route information" indicating information of the processing unit of the next stage.
  • FIG. 17 shows a seventh specific example of the configuration of the signal processing device 1 according to the first embodiment.
  • the configuration of the signal processing device 1G according to the seventh specific example may be substantially the same as the signal processing device 1C according to the third specific example shown in FIG. 10, except for the signal processing route.
  • the signal processing device 1G has a plurality of stages of processing units 30A, 30B, 30C, and 30D as hardware of a plurality of stages of signal processing system.
  • the processing unit 30A has a pretreatment unit 51A.
  • the processing unit 30B has a demosaic processing unit 51B.
  • the processing unit 30C has a Y (luminance) C (chroma) processing unit.
  • the processing unit 30D has a color adjusting unit 51D.
  • FIG. 18 shows an example of additional information (header information) added by the signal processing device 1G according to the seventh specific example.
  • FIG. 18 shows an example of header information (Header 1) added to the packet output from the input unit 20A and header information (Header 3) added to the packet output from the processing unit 30B.
  • the "next route information" indicating the information of the next processing unit is updated.
  • the header information it is desirable not to enter the actual value for large size items such as filter parameters. Further, as the header information, the value of each parameter may be separately stored in the memory without inputting the value of each parameter itself. In that case, the header information may include information indicating whether or not the parameter value is in the memory.
  • FIG. 19 shows an example of the power consumption of the processing unit in the signal processing device 100 according to the comparative example.
  • FIG. 20 shows an example of the power consumption of the processing unit in the signal processing device 1 according to the first embodiment.
  • each processing unit that performs signal processing starts to input (streaming) data from an external device until it stops. During that time, it needs to be operating all the time, and it consumes a lot of power.
  • each processing unit that performs signal processing receives at least a packet for signal processing, and then the next stage. It suffices to operate only while transmitting a packet to the processing unit, and power consumption is low.
  • FIG. 21 is a flowchart showing an example of operations related to each of the plurality of input units 20A, 20B, and 20C in the signal processing device 1.
  • step S11 Before data input (streaming) from each of the plurality of sensors 10A, 10B, 10C is started, it is required for signal processing from the CPU 2 to each of the plurality of input units 20A, 20B, 20C.
  • the data flow that is the source of the additional information is set (step S11).
  • streaming from each of the plurality of sensors 10A, 10B, and 10C is started (step S12).
  • the plurality of input units 20A, 20B, 20C are waiting for input from each of the plurality of sensors 10A, 10B, 10C, respectively (step S13).
  • each of the plurality of sensors 10A, 10B, 10C When data is received from each of the plurality of sensors 10A, 10B, 10C, the data processing is started in the plurality of input units 20A, 20B, 20C (step S14). Each of the plurality of input units 20A, 20B, and 20C performs packet generation processing for the processing unit in the subsequent stage (step S15). Next, each of the plurality of input units 20A, 20B, and 20C is added with additional information as header information, and the packetized data is transmitted to the subsequent processing unit (step S16).
  • FIG. 22 is a flowchart showing an example of operations related to each of the plurality of stages of processing units 30A, 30B, and 30C in the signal processing device.
  • streaming from each of the plurality of sensors 10A, 10B, and 10C is started (step S21).
  • Each of the plurality of stages of processing units 30A, 30B, and 30C waits for data reception in the queue processing unit 34 (step S22).
  • the processing units 30A, 30B, and 30C of the plurality of stages end the processing, respectively.
  • the plurality of stages of processing units 30A, 30B, and 30C each determine the data to be processed based on the information indicating the priority indicated in the header information (step S23). .. Next, the processing units 30A, 30B, and 30C of the plurality of stages each determine the setting value of the processing based on the header information (step S24). Next, the plurality of stages of processing units 30A, 30B, and 30C each start data processing (step S25).
  • the multi-stage processing units 30A, 30B, and 30C each perform packet generation processing for the subsequent processing units (step S26).
  • the plurality of stages of processing units 30A, 30B, and 30C each transmit the packetized data to the subsequent stage processing unit (step S27).
  • the plurality of stages of processing units 30A, 30B, and 30C each determine whether or not there is data in the queue processing unit 34 (step S28). If it is determined that there is no data in the queue processing unit 34 (step S28; N), the process returns to the process of step S22. If it is determined that the queue processing unit 34 has data (step S28; Y), the process returns to the process of step S23.
  • the signal processing device 1 it is possible to reduce the scale of the hardware by sharing the hardware of the signal processing system of a plurality of stages among a plurality of external devices.
  • the signal processing device 1 according to the first embodiment since the data flow of the hardware of the signal processing system proceeds without the intervention of the CPU 2 and the DSP 3, it is possible to focus on the processing other than the signal processing in the CPU 2. It becomes.
  • routing is performed to the hardware of the signal processing system in a plurality of stages for each packet, it is possible to suppress power consumption while waiting for signal processing.
  • the present technology may have the following configuration.
  • the present technology having the following configuration, in each of the plurality of stages of processing units, signal processing common to each of the plurality of data is performed based on the additional information added to each of the plurality of data. Therefore, it is possible to perform signal processing on a plurality of data while suppressing the circuit scale and power consumption.
  • a plurality of input units that add and output additional information required for signal processing to each of a plurality of data input from each of a plurality of external devices, and a plurality of input units.
  • a signal processing device including a plurality of stages of processing units, each of which is configured to be capable of performing common signal processing for each of the plurality of data based on the additional information.
  • the additional information is Instruction information indicating an instruction as to which processing unit is used for signal processing for each of the plurality of data among the plurality of stages of processing units, and
  • the signal processing apparatus according to (1) above, which includes setting information indicating a setting value used for signal processing in each of the plurality of stages of processing units.
  • the additional information is The signal processing apparatus according to (1) or (2) above, which includes information indicating the priority of signal processing of each of the plurality of data in each of the plurality of stages of processing units.
  • a controller that instructs each of the plurality of input units to use which of the plurality of processing units to perform signal processing.
  • the signal processing apparatus according to any one of (1) to (3) above.
  • Each of the plurality of input units The description in any one of (1) to (4) above, which has a first packet generation unit that generates a packet of each of the plurality of data, adds the additional information to the packet as a header, and outputs the packet.
  • Signal processing device (6)
  • Each of the multiple-stage processing units A packet analysis unit that analyzes the header added to the packet and determines the set value used for signal processing.
  • the signal processing apparatus which has a second packet generation unit that generates a packet in which information used for signal processing in the processing unit of the next stage is added to a header as additional information.
  • Each of the multiple-stage processing units A queue processing unit that performs queue processing for each of the plurality of data based on the information indicating the priority.
  • the signal processing apparatus according to (3) above.
  • the queue processing unit is The signal processing device according to (7) above, wherein when a queue overflow occurs, the data having a relatively low priority among the plurality of data is discarded. (9) Further equipped with a controller capable of adjusting the setting values of the plurality of external devices, When the queue overflow occurs, the queue processing unit notifies the controller that the queue overflow has occurred.
  • the signal processing device adjusts setting values of the plurality of external devices based on a notification from the queue processing unit.
  • the controller adjusts setting values of the plurality of external devices based on a notification from the queue processing unit.
  • a signal processing method including performing common signal processing for each of the plurality of data based on the additional information in each of the plurality of stages of processing units.
  • (11) With multiple sensors A plurality of input units that add and output additional information required for signal processing to each of the plurality of data input from each of the plurality of sensors, and a plurality of input units.
  • An image pickup apparatus including a plurality of stages of processing units, each of which is configured to be capable of performing common signal processing for each of the plurality of data based on the additional information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Studio Devices (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本開示の信号処理装置は、複数の外部デバイスのそれぞれから入力された複数のデータのそれぞれに対して、信号処理に必要とされる付加情報を付加して出力する複数の入力部と、それぞれが、付加情報に基づいて、複数のデータのそれぞれに対して共通化された信号処理を行うことが可能に構成された複数段の処理部とを備える。

Description

信号処理装置、信号処理方法、および撮像装置
 本開示は、複数のデータのそれぞれに対して信号処理を行う信号処理装置、信号処理方法、および撮像装置に関する。
 近年、スマートフォンなどのカメラ搭載機器では、例えばRGBセンサ、白黒センサ、測距センサ、および偏向センサなど、複数の種類のセンサを搭載することが進められている。このようなカメラ搭載機器では、複数のセンサの種類ごとに異なる信号処理が必要になる場合と、複数のセンサで共通の信号処理を行うことが可能である場合とがあるが、一般に、信号処理を行うハードウェアは、各センサごとに専用のブロックとして用意されている。そのため、センサの数が増加すると、ハードウェア規模が増大する。一方、CPU(Central Processing Unit)やデータフロー専用のDFP(Data Flow Processor)を用いて、信号処理系のブロックを複数のセンサで共有する方法がある(特許文献1参照)。
特開平5-265880号公報
 CPUやDFPを用いて信号処理系のブロックを複数のセンサで共有する場合、CPUやDFPの性能による律速が生じてしまう。また、DFPを用いることは回路規模および消費電力の増大を招く。
 回路規模および消費電力を抑制しつつ、複数のデータに対する信号処理を行うことが可能な信号処理装置、信号処理方法、および撮像装置を提供することが望ましい。
 本開示の一実施の形態に係る信号処理装置は、複数の外部デバイスのそれぞれから入力された複数のデータのそれぞれに対して、信号処理に必要とされる付加情報を付加して出力する複数の入力部と、それぞれが、付加情報に基づいて、複数のデータのそれぞれに対して共通化された信号処理を行うことが可能に構成された複数段の処理部とを備える。
 本開示の一実施の形態に係る信号処理方法は、複数の外部デバイスのそれぞれから入力された複数のデータのそれぞれに対して、信号処理に必要とされる付加情報を付加して出力することと、複数段の処理部のそれぞれにおいて、付加情報に基づいて、複数のデータのそれぞれに対して共通化された信号処理を行うこととを含む。
 本開示の一実施の形態に係る撮像装置は、複数のセンサと、複数のセンサのそれぞれから入力された複数のデータのそれぞれに対して、信号処理に必要とされる付加情報を付加して出力する複数の入力部と、それぞれが、付加情報に基づいて、複数のデータのそれぞれに対して共通化された信号処理を行うことが可能に構成された複数段の処理部とを備える。
 本開示の一実施の形態に係る信号処理装置、信号処理方法、または撮像装置では、複数段の処理部のそれぞれにおいて、複数のデータのそれぞれに付加された付加情報に基づいて、複数のデータのそれぞれに対して共通化された信号処理が行われる。
比較例に係る信号処理装置の一構成例を示すブロック図である。 本開示の第1の実施の形態に係る信号処理装置の一構成例を示すブロック図である。 第1の実施の形態に係る信号処理装置における入力部の一構成例を示すブロック図である。 第1の実施の形態に係る信号処理装置における処理部の第1の構成例を示すブロック図である。 第1の実施の形態に係る信号処理装置における処理部の第2の構成例を示すブロック図である。 第1の実施の形態に係る信号処理装置の構成の第1の具体例を示すブロック図である。 第1の実施の形態に係る信号処理装置の構成の第2の具体例を示すブロック図である。 比較例に係る信号処理装置による信号処理の動作タイミングを模式的に示す説明図である。 第2の具体例に係る信号処理装置による信号処理の動作タイミングを模式的に示す説明図である。 第1の実施の形態に係る信号処理装置の構成の第3の具体例を示すブロック図である。 第1の実施の形態に係る信号処理装置の構成の第4の具体例を示すブロック図である。 第1の実施の形態に係る信号処理装置におけるキュー処理部で行われるキュー処理の一具体例を示すブロック図である。 第1の実施の形態に係る信号処理装置の構成の第5の具体例を示すブロック図である。 第1の実施の形態に係る信号処理装置におけるキュー処理部で行われるキュー処理の一具体例を示すブロック図である。 第1の実施の形態に係る信号処理装置の構成の第6の具体例を示すブロック図である。 第1の実施の形態に係る信号処理装置によって付加される付加情報の一例を示す説明図である。 第1の実施の形態に係る信号処理装置の構成の第7の具体例を示すブロック図である。 第7の具体例に係る信号処理装置によって付加される付加情報の一例を示す説明図である。 比較例に係る信号処理装置における処理部の電力消費量の一例を示す説明図である。 第1の実施の形態に係る信号処理装置における処理部の電力消費量の一例を示す説明図である。 第1の実施の形態に係る信号処理装置における複数の入力部のそれぞれに関連する動作の一例を示すフローチャートである。 第1の実施の形態に係る信号処理装置における複数の処理部のそれぞれに関連する動作の一例を示すフローチャートである。
 以下、本開示の実施の形態について図面を参照して詳細に説明する。なお、説明は以下の順序で行う。
 0.比較例(図1)
 1.第1の実施の形態(図2~図22)
  1.1 概要
  1.2 具体例
  1.3 動作
  1.4 効果
 2.その他の実施の形態
 
<0.比較例>
(比較例に係る信号処理装置の概要)
 図1は、比較例に係る信号処理装置100の一構成例を示している。
 図1では、複数の外部デバイスとしての複数のセンサ10A,10B,10Cから出力されたデータを処理する場合の構成例を示す。複数のセンサ10A,10B,10Cはそれぞれ、例えば画像データを出力する。複数の外部デバイスと信号処理装置100は、全体として撮像装置を構成してもよい。
 比較例に係る信号処理装置100は、複数のセンサ10A,10B,10Cのそれぞれに対応して設けられた複数の画像入力部21A,21B,21Cを備えている。複数の画像入力部21A,21B,21Cのそれぞれには、複数のセンサ10A,10B,10Cのそれぞれからのデータが入力される。
 信号処理装置100は、さらに、CPU2と、DFP3と、複数段の信号処理系のハードウェアと、複数のSW処理部(ソフトウェア)40A,40B,40Cとを備えている。
 複数のSW処理部40A,40B,40Cはそれぞれ、複数のセンサ10A,10B,10Cのそれぞれに対応して設けられている。複数のSW処理部40A,40B,40Cにはそれぞれ、複数段の信号処理系のハードウェアによる信号処理後のデータが入力される。
 図1では、複数段の信号処理系のハードウェアとして、画像処理を行う複数段のISP(Image Signal Processor)31A,31B,31Cが存在する場合の構成例を示す。複数段のISP31A,31B,31Cはそれぞれ、複数のセンサ10A,10B,10Cに対して共有化され、複数のデータのそれぞれに対して共通化された信号処理(処理A,処理B,処理C)を行うことが可能となっている。
 DFP3は、CPU2によって制御される。DFP3は、複数の画像入力部21A,21B,21Cと、複数段のISP31A,31B,31Cとのそれぞれの設定値や動作タイミング(データフロー)を制御する。複数段のISP31A,31B,31Cは、複数のセンサ10A,10B,10Cを介して入力された複数のセンサ10A,10B,10Cからのそれぞれのデータに対して、DFP3の制御に従って、時分割で信号処理を行う。
(課題)
 比較例に係る信号処理装置100において、複数段の信号処理系のハードウェアをCPU2によってデータフロー制御すると、CPU2の性能で律速してしまう。そこで、データフロー専用のDFP3を用いてデータフロー制御することで、CPU2の性能に律速せずに信号処理が可能となる。ここで、DFP3はデータフロー専用なので、高い処理能力を持っているが、それでもこのDFP3の性能で処理できる信号処理が律速してしまう。
 そこで、CPU2やDFP3の性能に律速しない信号処理を行うことが可能となる技術の開発が望まれている。また、回路規模および消費電力を抑制しつつ、複数のデータに対する信号処理を行うことが可能となる技術の開発が望まれている。
<1.第1の実施の形態>
[1.1 概要]
 図2は、本開示の第1の実施の形態に係る信号処理装置1の一構成例を概略的に示している。なお、図2において、図1の比較例に係る信号処理装置100と同様の構成および動作を有する部分については、適宜、説明を省略する。
 図2では、比較例に係る信号処理装置100と同様に、複数の外部デバイスとしての複数のセンサ10A,10B,10Cから出力されたデータを処理する場合の構成例を示す。複数のセンサ10A,10B,10Cはそれぞれ、例えば画像データを出力する。複数の外部デバイスと信号処理装置1は、全体として撮像装置を構成してもよい。
 第1の実施の形態に係る信号処理装置1は、複数のセンサ10A,10B,10Cのそれぞれに対応して設けられた複数の入力部20A,20B,20Cを備えている。複数の入力部20A,20B,20Cのそれぞれには、複数のセンサ10A,10B,10Cのそれぞれからのデータが入力される。
 信号処理装置1は、さらに、CPU2と、複数段の信号処理系のハードウェアと、複数のSW処理部40A,40B,40Cとを備えている。
 なお、複数の外部デバイスは、2つまたは4つ以上の構成であってもよい。また、複数の外部デバイスの数に応じて、複数の入力部20A,20B,20Cの数も2つまたは4つ以上の構成であってもよい。同様に、複数の外部デバイスの数に応じて、複数のSW処理部40A,40B,40Cの数も2つまたは4つ以上の構成であってもよい。
 図2では、複数段の信号処理系のハードウェアとして、複数段の処理部30A,30B,30Cが存在する場合の構成例を示す。複数段の処理部30A,30B,30Cはそれぞれ、複数のセンサ10A,10B,10Cに対して共有化され、複数のデータのそれぞれに対して共通化された信号処理(処理A,処理B,処理C)を行うことが可能となっている。なお、複数段の信号処理系のハードウェアの数は、2つまたは4つ以上の構成であってもよい。
 複数の入力部20A,20B,20Cはそれぞれ、複数の画像入力部21A,21B,21Cを有する。複数段の処理部30A,30B,30Cはそれぞれ、複数段のISP31A,31B,31Cを有する。
 図3は、信号処理装置1における入力部20xの一構成例を示している。ここで、入力部20xは、複数の入力部20A,20B,20Cの任意の1つを示す。画像入力部21xは、複数の画像入力部21A,21B,21Cの任意の1つを示す。
 複数の入力部20A,20B,20Cはそれぞれ、複数のセンサ10A,10B,10Cのそれぞれから入力された複数のデータのそれぞれに対して、信号処理に必要とされる付加情報を付加したデータを生成して出力する。
 複数の入力部20A,20B,20Cはそれぞれ、複数の画像入力部21A,21B,21Cの出力段に、第1のパケット生成部としてのパケット生成部22を有する。パケット生成部22は、複数のセンサ10A,10B,10Cのそれぞれから入力された複数のデータのそれぞれのパケットを生成し、付加情報をヘッダとしてパケットに付加して出力する。
 ここで、付加情報は、複数段の処理部30A,30B,30Cのうち、複数のデータのそれぞれに対して、いずれの処理部を用いた信号処理を行うかのルーティングの指示を示す指示情報を含んでもよい。また、付加情報は、複数段の処理部30A,30B,30Cのそれぞれにおける信号処理に用いられる設定値を示す設定情報を含んでもよい。
 CPU2は、複数の入力部20A,20B,20Cのそれぞれに対して、複数段の処理部30A,30B,30Cのうち、いずれの処理部を用いた信号処理を行うかの指示を行うコントローラとしての役割を有している。
 図4は、信号処理装置1における処理部30xの第1の構成例を示している。ここで、処理部30xは、複数段の処理部30A,30B,30Cの任意の1つを示す。ISP31xは、複数段のISP31A,31B,31Cの任意の1つを示す。
 複数段の処理部30A,30B,30Cは、それぞれが、付加情報に基づいて、複数のデータのそれぞれに対して共通化された信号処理を行うことが可能に構成されている。
 複数段の処理部30A,30B,30Cはそれぞれ、パケット解析部32と、第2のパケット生成部としてのパケット生成部33とを有している。
 パケット解析部32は、複数段のISP31A,31B,31Cのそれぞれの入力段に設けられている。パケット生成部33は、複数段のISP31A,31B,31Cのそれぞれの出力段に設けられている。
 パケット解析部32は、パケットに付加されたヘッダを解析してISP31xにおける信号処理に用いる設定値を決定する。
 パケット生成部33は、複数段のISP31A,31B,31Cのうち、次段の処理部の信号処理に用いられる情報を付加情報としてヘッダに付加したパケットを生成する。
 図5は、信号処理装置1における処理部30xの第2の構成例を示している。
 複数の入力部20A,20B,20Cのそれぞれによって付加される付加情報には、複数段の処理部30A,30B,30Cのそれぞれにおける、複数のデータのそれぞれの信号処理の優先度を示す情報を含んでもよい。
 複数段の処理部30A,30B,30Cはそれぞれ、パケット解析部32の入力段に、キュー処理部34を有していてもよい。
 キュー処理部34は、優先度を示す情報に基づいて、後述するように、複数のデータのそれぞれに対するキュー処理を行う。キュー処理部34は、後述するように、キュー溢れが発生した場合、複数のデータのうち、優先度が相対的に低いデータを廃棄するようにしてもよい。
 CPU2は、複数のセンサ10A,10B,10Cのそれぞれの設定値を調整することが可能なコントローラであってもよい。キュー処理部34は、後述するように、キュー溢れが発生した場合、CPU2にキュー溢れが発生したことを通知してもよい。CPU2は、キュー処理部34からの通知に基づいて、複数のセンサ10A,10B,10Cのそれぞれの設定値を調整するようにしてもよい。
 以上の構成の信号処理装置1では、例えば、装置の起動前に、CPU2から複数の入力部20A,20B,20Cのそれぞれに対して、複数段の処理部30A,30B,30Cのうち、いずれの処理部を用いた信号処理を行うかのルーティングの指示等を含む付加情報を与えておくことで、各処理部はCPU2からの制御を行うことなく、自動でデータをルーティングして処理することが可能となる。信号処理装置1では、信号処理系のハードウェアにおいてデータフロー処理を実施できるようにすることで、データフローをCPU2やDSP3(図1)で制御する必要がなくなる。これにより、外部デバイスの数を例えば10,20と拡張していく場合であっても、CPU2やDSP3による律速を考慮しない処理が可能となる。
[1.2 具体例]
 次に、第1の実施の形態に係る信号処理装置1のより具体的な構成例を説明する。なお、図2と同様の構成および動作を有する部分については、適宜、説明を省略する。
(第1の具体例)
 図6は、第1の実施の形態に係る信号処理装置1の構成の第1の具体例を示している。
 図6に示した第1の具体例に係る信号処理装置1Aは、複数の外部デバイスとして、RGBセンサ110Aと白黒センサ110Bとから出力されたデータを処理する場合の構成例を示す。複数の外部デバイスと信号処理装置1Aは、全体として撮像装置を構成してもよい。
 信号処理装置1Aは、RGBセンサ110Aと白黒センサ110Bとに対応して設けられた複数の入力部20A,20Bを備えている。入力部20Aには、RGBセンサ110Aからのデータが入力される。入力部20Bには、白黒センサ110Bからのデータが入力される。
 信号処理装置1Aは、さらに、CPU2と、複数段の信号処理系のハードウェアと、複数のSW処理部40A,40Bとを備えている。
 図6には、複数段の信号処理系のハードウェアとして、RGBセンサ110Aに対応して設けられた、複数段の処理部30A,30B,30Cが存在する場合の構成例を示す。また、図6には、信号処理系のハードウェアとして、白黒センサ110Bに対応して設けられた、1つの処理部30Aが存在する場合の構成例を示す。
 入力部20Aは、CPU2からの指示に基づいて、RGBセンサ110AからのデータDaのヘッダHdにルーティングの指示等を含む付加情報を付加したパケットを生成して、RGBセンサ110Aに対応して設けられた処理部30Aに出力する。
 入力部20Bは、CPU2からの指示に基づいて、白黒センサ110BからのデータDbのヘッダHdにルーティングの指示等を含む付加情報を付加したパケットを生成して、白黒センサ110Bに対応して設けられた処理部30Aに出力する。
 処理部30Bには、RGBセンサ110Aに対応して設けられた処理部30AからのデータDaと、白黒センサ110Bに対応して設けられた処理部30AからのデータDbとが共通に入力される。処理部30Bは、ヘッダHdに示される付加情報に基づいて、データDaとデータDbとの処理を時分割で行う。
 処理部30Bは、ヘッダHdに示される付加情報に基づいて、データDaとデータDbとの信号処理を時分割で行う。処理部30Bは、信号処理後のデータDbについては、SW処理部40Bに出力する。一方、信号処理後のデータDaについては、処理部30Bは、次段の処理部30Cに出力する。処理部30Cは、信号処理後のデータDaをSW処理部40Aに出力する。
 なお、信号処理の内容によっては、複数段の処理部30A,30B,30Cはそれぞれ複数回の信号処理を繰り返してもよい。例えば信号処理としてノイズ低減処理などを複数回、実行してもよい。図6では、処理部30Cが複数回の信号処理を繰り返す例を示す。
(第2の具体例)
 図7は、第1の実施の形態に係る信号処理装置1の構成の第2の具体例を示している。
 図7に示した第2の具体例に係る信号処理装置1Bは、複数の外部デバイスとして、互いに画素サイズの異なるRGBセンサ210AとRGBセンサ210Bとから出力されたデータを処理する場合の構成例を示す。複数の外部デバイスと信号処理装置1Bは、全体として撮像装置を構成してもよい。なお、図7ではCPU2の図示を省略している。
 RGBセンサ210Aは、RGBセンサ210Bに対して高解像度の画像センサとなっている。図7では、RGBセンサ210Aの画素サイズは例えば12Mpix、RGBセンサ210Bの画素サイズは例えば4Mpixの例を示す。
 信号処理装置1Bは、RGBセンサ210AとRGBセンサ210Bとに対応して設けられた複数の入力部20A,20Bを備えている。入力部20Aには、RGBセンサ110Aからのデータが入力される。入力部20Bには、RGBセンサ210Bからのデータが入力される。
 信号処理装置1Bは、さらに、図示しないCPU2と、複数段の信号処理系のハードウェアと、複数のSW処理部40A,40Bとを備えている。
 図7には、複数段の信号処理系のハードウェアとして、RGBセンサ210AとRGBセンサ210Bとのそれぞれに共通に設けられた、複数段の処理部30A,30B,30C,30Dが存在する場合の構成例を示す。
 処理部30Aは、前処理部51Aを有している。処理部30Bは、デモザイク処理部51Bを有している。処理部30Cは、Y(輝度)C(クロマ)処理部を有している。処理部30Dは、色調整部51Dを有している。
 入力部20Aは、CPU2からの指示に基づいて、RGBセンサ210AからのデータDaのヘッダHdにルーティングの指示等を含む付加情報を付加したパケットを生成して、処理部30Aに出力する。
 入力部20Bは、CPU2からの指示に基づいて、RGBセンサ210BからのデータDbのヘッダHdにルーティングの指示等を含む付加情報を付加したパケットを生成して、処理部30Aに出力する。
 複数段の処理部30A,30B,30C,30Dはそれぞれ、ヘッダHdに示される付加情報に基づいて、データDaとデータDbとの処理を時分割で行う。処理部30Dは、信号処理後のデータDaをSW処理部40Aに出力し、信号処理後のデータDbをSW処理部40Aに出力する。
 図8は、比較例に係る信号処理装置による信号処理の動作タイミングを模式的に示している。図8では、比較例に係る信号処理装置として、複数段の処理部30A,30B,30C,30DがDFP3によって制御される場合を例に示す。図9は、第2の具体例に係る信号処理装置1Bによる信号処理の動作タイミングを模式的に示している。
 図8および図9において、上段にはRGBセンサ210A,210Bのそれぞれからのデータ出力のタイミング例を示す。比較例に係る信号処理装置と第2の具体例に係る信号処理装置1Bとのそれぞれにおいて、RGBセンサ210A,210Bのそれぞれから、データが連続的に出力される。
 図8において、下段にはDFP3と処理部30A内の前処理部51Aによる信号処理のタイミング例を示す。図9において、下段にはCPU2と処理部30A内の前処理部51Aによる信号処理のタイミング例を示す。
 比較例に係る信号処理装置では、前処理部51Aにおいて、RGBセンサ210A,210Bのそれぞれからのデータを時分割で処理するたびに、DFP3からの制御(kick)が必要となる。このため、処理がDFP3の性能に律速する。これに対し、第2の具体例に係る信号処理装置1Bでは、前処理部51AはヘッダHdに示される付加情報に基づいて自律動作し、信号処理を行う。このため、RGBセンサ210A,210Bのそれぞれからのデータを時分割で処理する際に、CPU2からの制御は不要であり、CPU2の性能に律速しない。
(第3の具体例)
 図10は、第1の実施の形態に係る信号処理装置1の構成の第3の具体例を示している。
 図10に示した第3の具体例に係る信号処理装置1Cは、複数の外部デバイスとして、RGBセンサ310Aと白黒センサ310Bとから出力されたデータを処理する場合の構成例を示す。複数の外部デバイスと信号処理装置1Cは、全体として撮像装置を構成してもよい。なお、図10ではCPU2の図示を省略している。
 図10には、RGBセンサ310Aと白黒センサ310Bとの画素サイズが同一、例えば12Mpixの例を示す。
 信号処理装置1Cは、RGBセンサ310Aと白黒センサ310Bとに対応して設けられた複数の入力部20A,20Bを備えている。入力部20Aには、RGBセンサ310Aからのデータが入力される。入力部20Bには、白黒センサ310Bからのデータが入力される。
 信号処理装置1Cは、さらに、図示しないCPU2と、複数段の信号処理系のハードウェアと、複数のSW処理部40A,40Bとを備えている。
 図10には、複数段の信号処理系のハードウェアとして、RGBセンサ310Aに対応して設けられた、複数段の処理部30A,30B,30C,30Dが存在する場合の構成例を示す。また、図10には、信号処理系のハードウェアとして、白黒センサ310Bに対応して設けられた、複数段の処理部30A,30Bが存在する場合の構成例を示す。
 処理部30Aは、前処理部51Aを有している。処理部30Bは、デモザイク処理部51Bを有している。処理部30Cは、Y(輝度)C(クロマ)処理部を有している。処理部30Dは、色調整部51Dを有している。
 入力部20Aは、CPU2からの指示に基づいて、RGBセンサ310AからのデータDaのヘッダHdにルーティングの指示等を含む付加情報を付加したパケットを生成して、RGBセンサ310Aに対応して設けられた処理部30Aに出力する。RGBセンサ310Aに対応して設けられた処理部30Bには、RGBセンサ110Aに対応して設けられた処理部30AからのデータDaが入力される。
 入力部20Bは、CPU2からの指示に基づいて、白黒センサ310BからのデータDbのヘッダHdにルーティングの指示等を含む付加情報を付加したパケットを生成して、白黒センサ310Bに対応して設けられた処理部30Aに出力する。白黒センサ310Bに対応して設けられた処理部30Bには、白黒センサ310Bに対応して設けられた処理部30AからのデータDbが入力される。
 処理部30Cには、RGBセンサ310Aに対応して設けられた処理部30BからのデータDaと、白黒センサ310Bに対応して設けられた処理部30BからのデータDbとが共通に入力される。処理部30Cは、ヘッダHdに示される付加情報に基づいて、データDaとデータDbとの信号処理を時分割で行い、信号処理後のデータDaとデータDbとを次段の処理部30Dに出力する。
 処理部30Dは、ヘッダHdに示される付加情報に基づいて、データDaとデータDbとの処理を時分割で行う。処理部30Dは、信号処理後のデータDaをSW処理部40Aに出力し、信号処理後のデータDbをSW処理部40Aに出力する。
 このように、複数の外部デバイスがRGBセンサ310Aと白黒センサ310Bとの組み合わせであっても、複数段の信号処理系のハードウェアのうち、信号処理として共通化可能な個所は共有可能となる。この場合、共有化したハードウェアでは、データを時分割で処理する際に、CPU2からの制御は不要であり、CPU2の性能に律速しない。
(第4の具体例)
 図11は、第1の実施の形態に係る信号処理装置1の構成の第4の具体例を示している。
 図11に示した第4の具体例に係る信号処理装置1Dは、複数の外部デバイスとして、センサ410Aとセンサ410Bとから出力されたデータを処理する場合の構成例を示す。複数の外部デバイスと信号処理装置1Dは、全体として撮像装置を構成してもよい。なお、図11ではCPU2の図示を省略している。
 以上の具体例では、複数の外部デバイスとして、RGBセンサとRGBセンサとの組み合わせ、RGBセンサと白黒センサとの組み合わせを用い例を示したが、複数の外部デバイスとして用いるセンサは、これらの組み合わせには限らない。センサ410Aとセンサ410Bは、例えば、RGBセンサ、白黒センサ、偏光センサ、マルチスペクトルセンサ、ToF(Time of Flight)センサ、およびDVS(Dynamic Vision Sensor )センサなどのうち、任意の同一種類または異なる種類の複数のセンサの組み合わせであってもよい。
 信号処理装置1Dは、センサ410Aとセンサ410Bとに対応して設けられた複数の入力部20A,20Bを備えている。入力部20Aには、センサ410Aからのデータが入力される。入力部20Bには、センサ410Bからのデータが入力される。
 信号処理装置1Dは、さらに、図示しないCPU2と、複数段の信号処理系のハードウェアと、複数のSW処理部40A,40Bとを備えている。
 図11には、複数段の信号処理系のハードウェアとして、センサ410Aに対応して設けられた、複数段の処理部30A,30B,30C,30Dが存在する場合の構成例を示す。また、図11には、信号処理系のハードウェアとして、センサ410Bに対応して設けられた、複数段の処理部30A,30Bが存在する場合の構成例を示す。
 複数段の処理部30A,30B,30C,30Dはそれぞれ、複数段のISP31A,31B,31C,31Dを有する。複数段のISP31A,31B,31C,31Dはそれぞれ、信号処理として処理A,処理B,処理C,処理Dを行う。
 入力部20Aは、CPU2からの指示に基づいて、センサ410AからのデータDaのヘッダHdにルーティングの指示等を含む付加情報を付加したパケットを生成して、センサ410Aに対応して設けられた処理部30Aに出力する。センサ410Aに対応して設けられた処理部30Bには、センサ410Aに対応して設けられた処理部30AからのデータDaが入力される。
 入力部20Bは、CPU2からの指示に基づいて、センサ410BからのデータDbのヘッダHdにルーティングの指示等を含む付加情報を付加したパケットを生成して、センサ410Bに対応して設けられた処理部30Aに出力する。センサ410Bに対応して設けられた処理部30Bには、センサ410Bに対応して設けられた処理部30AからのデータDbが入力される。
 処理部30Cには、センサ410Aに対応して設けられた処理部30BからのデータDaと、センサ410Bに対応して設けられた処理部30BからのデータDbとが共通に入力される。処理部30Cは、ヘッダHdに示される付加情報に基づいて、データDaとデータDbとの信号処理を時分割で行い、信号処理後のデータDaとデータDbとを次段の処理部30Dに出力する。
 処理部30Dは、ヘッダHdに示される付加情報に基づいて、データDaとデータDbとの処理を時分割で行う。処理部30Dは、信号処理後のデータDaをSW処理部40Aに出力し、信号処理後のデータDbをSW処理部40Aに出力する。
 このように、複数の外部デバイスがセンサ410Aとセンサ410Bとの組み合わせであっても、複数段の信号処理系のハードウェアのうち、信号処理として共通化可能な個所は共有可能となる。この場合、共有化したハードウェアでは、データを時分割で処理する際に、CPU2からの制御は不要であり、CPU2の性能に律速しない。
(第5の具体例)
 図12は、第1の実施の形態に係る信号処理装置1におけるキュー処理部34で行われるキュー処理の一具体例を示している。
 信号処理装置1における任意の処理部30xは、パケット解析部32の入力段に、キュー処理部34を有していてもよい。キュー処理部34は、パケットのヘッダHdに付加された優先度を示す情報に基づいて、複数のデータのそれぞれに対するキュー処理を行う。
 処理部30xは、優先度順に信号処理を行う。この場合において、図12に示したように、同一優先度のパケットが複数ある場合、処理部30xは、例えばタイムスタンプ順に信号処理を行って、信号処理を行った順に、次段のキュー処理部34にパケットを出力する。
 図13は、第1の実施の形態に係る信号処理装置1の構成の第5の具体例を示している。
 第5の具体例に係る信号処理装置1Eの構成は、優先度に関する構成を除き、図7に示した第2の具体例に係る信号処理装置1Bと略同様であってもよい。
 信号処理装置1Eは、複数の外部デバイスとして、互いに画素サイズの異なるRGBセンサ210AとRGBセンサ210Bとから出力されたデータを処理する場合の構成例を示す。複数の外部デバイスと信号処理装置1Eは、全体として撮像装置を構成してもよい。なお、図13ではCPU2の図示を省略している。
 RGBセンサ210Aは、RGBセンサ210Bに対して高解像度の画像センサとなっている。図13では、RGBセンサ210Aの画素サイズは例えば12Mpix、RGBセンサ210Bの画素サイズは例えば4Mpixの例を示す。
 入力部20Aは、CPU2からの指示に基づいて、RGBセンサ210AからのデータDaのヘッダHdにルーティングの指示等を含む付加情報を付加したパケットを生成して、処理部30Aに出力する。また、入力部20Aは、CPU2からの指示に基づいて、データDaのヘッダHdに付加情報として優先度を示す情報を含める。
 入力部20Bは、CPU2からの指示に基づいて、RGBセンサ210BからのデータDbのヘッダHdにルーティングの指示等を含む付加情報を付加したパケットを生成して、処理部30Aに出力する。また、入力部20Bは、CPU2からの指示に基づいて、データDbのヘッダHdに付加情報として優先度を示す情報を含める。
 信号処理装置1Eは、例えば、高解像度の画像センサであるRGBセンサ210AからのデータDaに対して優先度を高く設定し、低解像度の画像センサであるRGBセンサ210BからのデータDbに対して優先度を低く設定し、高解像度のデータDaを優先的に処理するようにしてもよい。
(第6の具体例)
 図14は、第1の実施の形態に係る信号処理装置1におけるキュー処理部34で行われるキュー処理の一具体例を示している。
 キュー処理部34は、キュー溢れが発生した場合、複数のデータのうち、優先度が相対的に低いデータを廃棄するようにしてもよい。
 図15は、第1の実施の形態に係る信号処理装置1の構成の第6の具体例を示している。
 第6の具体例に係る信号処理装置1Fの構成は、キュー溢れが発生した場合の処理に関する構成を除き、図13に示した第5の具体例に係る信号処理装置1Eと略同様であってもよい。
 キュー処理部34は、キュー溢れが発生した場合、CPU2にキュー溢れが発生したことを通知してもよい。CPU2は、キュー処理部34からの通知に基づいて、複数の外部デバイスであるRGBセンサ210AとRGBセンサ210Bとのそれぞれの設定値を調整するようにしてもよい。CPU2は、RGBセンサ210AとRGBセンサ210Bとに対して、例えば解像度やフレームレートの設定値を調整するようにしてもよい。
(第7の具体例)
 図16は、第1の実施の形態に係る信号処理装置1によってパケットに付加される付加情報(ヘッダ情報)の一例を示す説明図である。
 信号処理装置1によって付加されるヘッダ情報の項目としては、図16示したように、例えば、Lens情報、画サイズ、赤外線フィルタ、フォーマット、ビット数、ガンマ特性、NR特性、シャッタ時間、Gain量、タイムスタンプ、ルート情報、および優先度の情報が含まれていてもよい。ルート情報には、次段の処理部の情報を示す「次のルート情報」が含まれていてもよい。
 図17は、第1の実施の形態に係る信号処理装置1の構成の第7の具体例を示している。
 第7の具体例に係る信号処理装置1Gの構成は、信号処理のルートを除き、図10に示した第3の具体例に係る信号処理装置1Cと略同様であってもよい。
 信号処理装置1Gには、複数段の信号処理系のハードウェアとして、複数段の処理部30A,30B,30C,30Dが存在する。
 処理部30Aは、前処理部51Aを有している。処理部30Bは、デモザイク処理部51Bを有している。処理部30Cは、Y(輝度)C(クロマ)処理部を有している。処理部30Dは、色調整部51Dを有している。
 図18は、第7の具体例に係る信号処理装置1Gによって付加される付加情報(ヘッダ情報)の一例を示している。図18には、入力部20Aから出力されたパケットに付加されたヘッダ情報(Header 1)と、処理部30Bから出力されたパケットに付加されたヘッダ情報(Header 3)との例を示す。
 例えば、各処理部を経ることで、次段の処理部の情報を示す「次のルート情報」が更新されていく。
 なお、ヘッダ情報としては、フィルタパラメータのように大きなサイズのものは実際の値を入れないことが望ましい。また、ヘッダ情報としては、各パラメータの値自体は入れずに、別途、各パラメータの値をメモリに保持しておいてもよい。その場合、ヘッダ情報としては、パラメータの値がメモリ内のごとにあるかを示す情報を入れておいてもよい。
(電力消費量について)
 図19は、比較例に係る信号処理装置100における処理部の電力消費量の一例を示している。図20は、第1の実施の形態に係る信号処理装置1における処理部の電力消費量の一例を示している。
 比較例に係る信号処理装置100(図1)では、信号処理を行う各処理部は、図19に示したように、外部デバイスからのデータの入力(ストリーミング)が開始してから停止するまでの間、常に動作している必要があり、電力消費が大きい。
 これに対し、第1の実施の形態に係る信号処理装置1では、信号処理を行う各処理部は、図20に示したように、少なくとも、信号処理を行うパケットを受信してから次段の処理部にパケットを送信する間のみ動作していればよく電力消費は少ない。
[1.3 動作]
 以下、図21および図22を参照しつつ、図2に示した信号処理装置1の動作を説明する。
 図21は、信号処理装置1における複数の入力部20A,20B,20Cのそれぞれに関連する動作の一例を示すフローチャートである。
 まず、複数のセンサ10A,10B,10Cのそれぞれからのデータの入力(ストリーミング)が開始される前に、CPU2から複数の入力部20A,20B,20Cのそれぞれに対し、信号処理に必要とされる付加情報の元となるデータフローの設定がなされる(ステップS11)。次に、複数のセンサ10A,10B,10Cのそれぞれからのストリーミングが開始される(ステップS12)。
 複数の入力部20A,20B,20Cはそれぞれ、複数のセンサ10A,10B,10Cのそれぞれからの入力待ちとなる(ステップS13)。複数の入力部20A,20B,20Cはそれぞれ、複数のセンサ10A,10B,10Cのそれぞれのストリーミングが終了した場合には、処理を終了する。
 複数のセンサ10A,10B,10Cのそれぞれからのデータを受信した場合には、複数の入力部20A,20B,20Cにおいてデータの処理を開始する(ステップS14)。複数の入力部20A,20B,20Cはそれぞれ、後段の処理部のためにパケット生成処理を行う(ステップS15)。次に、複数の入力部20A,20B,20Cはそれぞれ、付加情報がヘッダ情報として付加され、パケット化されたデータを後段の処理部に送信する(ステップS16)。
 図22は、信号処理装置における複数段の処理部30A,30B,30Cのそれぞれに関連する動作の一例を示すフローチャートである。
 まず、複数のセンサ10A,10B,10Cのそれぞれからのストリーミングが開始される(ステップS21)。複数段の処理部30A,30B,30Cはそれぞれ、キュー処理部34におけるデータ受信待ちとなる(ステップS22)。複数段の処理部30A,30B,30Cはそれぞれ、複数のセンサ10A,10B,10Cのそれぞれのストリーミングが終了した場合には、処理を終了する。
 複数段の処理部30A,30B,30Cはそれぞれ、キュー処理部34においてデータを受信した場合には、ヘッダ情報に示された優先度を示す情報に基づいて処理するデータを決定する(ステップS23)。次に、複数段の処理部30A,30B,30Cはそれぞれ、ヘッダ情報に基づいて、処理の設定値を決定する(ステップS24)。次に、複数段の処理部30A,30B,30Cはそれぞれ、データの処理を開始する(ステップS25)。
 複数段の処理部30A,30B,30Cはそれぞれ、後段の処理部のためにパケット生成処理を行う(ステップS26)。次に、複数段の処理部30A,30B,30Cはそれぞれ、パケット化されたデータを後段の処理部に送信する(ステップS27)。次に、複数段の処理部30A,30B,30Cはそれぞれ、キュー処理部34にデータがあるか否かを判断する(ステップS28)。キュー処理部34にデータがないと判断した場合(ステップS28;N)には、ステップS22の処理に戻る。キュー処理部34にデータがあると判断した場合(ステップS28;Y)には、ステップS23の処理に戻る。
[1.4 効果]
 以上説明したように、第1の実施の形態に係る信号処理装置1によれば、複数段の信号処理系のハードウェアのそれぞれにおいて、複数のデータのそれぞれに付加された付加情報に基づいて、複数のデータのそれぞれに対して共通化された信号処理を行うようにしたので、回路規模および消費電力を抑制しつつ、複数のデータに対する信号処理を行うことが可能となる。
 第1の実施の形態に係る信号処理装置1によれば、複数の外部デバイスで複数段の信号処理系のハードウェアを共有することで、ハードウェアの規模を削減することが可能となる。第1の実施の形態に係る信号処理装置1によれば、CPU2やDSP3を介在せずに信号処理系のハードウェアのデータフローが進むので、CPU2において信号処理以外の処理に注力することが可能となる。第1の実施の形態に係る信号処理装置1では、パケット単位で複数段の信号処理系のハードウェアに対するルーティングがなされるため、信号処理の待機中は消費電力を抑制することが可能となる。
 なお、本明細書に記載された効果はあくまでも例示であって限定されるものではなく、また他の効果があってもよい。以降の他の実施の形態の効果についても同様である。
<2.その他の実施の形態>
 本開示による技術は、上記実施の形態の説明に限定されず種々の変形実施が可能である。
 例えば、本技術は以下のような構成を取ることもできる。
 以下の構成の本技術によれば、複数段の処理部のそれぞれにおいて、複数のデータのそれぞれに付加された付加情報に基づいて、複数のデータのそれぞれに対して共通化された信号処理を行うようにしたので、回路規模および消費電力を抑制しつつ、複数のデータに対する信号処理を行うことが可能となる。
(1)
 複数の外部デバイスのそれぞれから入力された複数のデータのそれぞれに対して、信号処理に必要とされる付加情報を付加して出力する複数の入力部と、
 それぞれが、前記付加情報に基づいて、前記複数のデータのそれぞれに対して共通化された信号処理を行うことが可能に構成された複数段の処理部と
 を備える
 信号処理装置。
(2)
 前記付加情報は、
 前記複数段の処理部のうち、前記複数のデータのそれぞれに対して、いずれの処理部を用いた信号処理を行うかの指示を示す指示情報と、
 前記複数段の処理部のそれぞれにおける信号処理に用いられる設定値を示す設定情報と
 を含む
 上記(1)に記載の信号処理装置。
(3)
 前記付加情報は、
 前記複数段の処理部のそれぞれにおける、前記複数のデータのそれぞれの信号処理の優先度を示す情報を含む
 上記(1)または(2)に記載の信号処理装置。
(4)
 前記複数の入力部のそれぞれに対して、前記複数段の処理部のうち、いずれの処理部を用いた信号処理を行うかの指示を行うコントローラ、
 をさらに備える
 上記(1)ないし(3)のいずれか1つに記載の信号処理装置。
(5)
 前記複数の入力部はそれぞれ、
 前記複数のデータのそれぞれのパケットを生成し、前記付加情報をヘッダとして前記パケットに付加して出力する第1のパケット生成部、を有する
 上記(1)ないし(4)のいずれか1つに記載の信号処理装置。
(6)
 前記複数段の処理部はそれぞれ、
 前記パケットに付加されたヘッダを解析して信号処理に用いる設定値を決定するパケット解析部と、
 次段の処理部の信号処理に用いられる情報を前記付加情報としてヘッダに付加したパケットを生成する第2のパケット生成部と
 を有する
 上記(5)に記載の信号処理装置。
(7)
 前記複数段の処理部はそれぞれ、
 前記優先度を示す情報に基づいて、前記複数のデータのそれぞれに対するキュー処理を行うキュー処理部、
 をさらに有する
 上記(3)に記載の信号処理装置。
(8)
 前記キュー処理部は、
 キュー溢れが発生した場合、前記複数のデータのうち、前記優先度が相対的に低いデータを廃棄する
 上記(7)に記載の信号処理装置。
(9)
 前記複数の外部デバイスの設定値を調整することが可能なコントローラ、をさらに備え、
 前記キュー処理部は、キュー溢れが発生した場合、前記コントローラにキュー溢れが発生したことを通知し、
 前記コントローラは、前記キュー処理部からの通知に基づいて、前記複数の外部デバイスの設定値を調整する
 上記(8)に記載の信号処理装置。
(10)
 複数の外部デバイスのそれぞれから入力された複数のデータのそれぞれに対して、信号処理に必要とされる付加情報を付加して出力することと、
 複数段の処理部のそれぞれにおいて、前記付加情報に基づいて、前記複数のデータのそれぞれに対して共通化された信号処理を行うことと
 を含む
 信号処理方法。
(11)
 複数のセンサと、
 前記複数のセンサのそれぞれから入力された複数のデータのそれぞれに対して、信号処理に必要とされる付加情報を付加して出力する複数の入力部と、
 それぞれが、前記付加情報に基づいて、前記複数のデータのそれぞれに対して共通化された信号処理を行うことが可能に構成された複数段の処理部と
 を備える
 撮像装置。
 本出願は、日本国特許庁において2020年11月9日に出願された日本特許出願番号第2020-186819号を基礎として優先権を主張するものであり、この出願のすべての内容を参照によって本出願に援用する。
 当業者であれば、設計上の要件や他の要因に応じて、種々の修正、コンビネーション、サブコンビネーション、および変更を想到し得るが、それらは添付の請求の範囲やその均等物の範囲に含まれるものであることが理解される。

Claims (11)

  1.  複数の外部デバイスのそれぞれから入力された複数のデータのそれぞれに対して、信号処理に必要とされる付加情報を付加して出力する複数の入力部と、
     それぞれが、前記付加情報に基づいて、前記複数のデータのそれぞれに対して共通化された信号処理を行うことが可能に構成された複数段の処理部と
     を備える
     信号処理装置。
  2.  前記付加情報は、
     前記複数段の処理部のうち、前記複数のデータのそれぞれに対して、いずれの処理部を用いた信号処理を行うかの指示を示す指示情報と、
     前記複数段の処理部のそれぞれにおける信号処理に用いられる設定値を示す設定情報と
     を含む
     請求項1に記載の信号処理装置。
  3.  前記付加情報は、
     前記複数段の処理部のそれぞれにおける、前記複数のデータのそれぞれの信号処理の優先度を示す情報を含む
     請求項1に記載の信号処理装置。
  4.  前記複数の入力部のそれぞれに対して、前記複数段の処理部のうち、いずれの処理部を用いた信号処理を行うかの指示を行うコントローラ、
     をさらに備える
     請求項1に記載の信号処理装置。
  5.  前記複数の入力部はそれぞれ、
     前記複数のデータのそれぞれのパケットを生成し、前記付加情報をヘッダとして前記パケットに付加して出力する第1のパケット生成部、を有する
     請求項1に記載の信号処理装置。
  6.  前記複数段の処理部はそれぞれ、
     前記パケットに付加されたヘッダを解析して信号処理に用いる設定値を決定するパケット解析部と、
     次段の処理部の信号処理に用いられる情報を前記付加情報としてヘッダに付加したパケットを生成する第2のパケット生成部と
     を有する
     請求項5に記載の信号処理装置。
  7.  前記複数段の処理部はそれぞれ、
     前記優先度を示す情報に基づいて、前記複数のデータのそれぞれに対するキュー処理を行うキュー処理部、
     をさらに有する
     請求項3に記載の信号処理装置。
  8.  前記キュー処理部は、
     キュー溢れが発生した場合、前記複数のデータのうち、前記優先度が相対的に低いデータを廃棄する
     請求項7に記載の信号処理装置。
  9.  前記複数の外部デバイスの設定値を調整することが可能なコントローラ、をさらに備え、
     前記キュー処理部は、キュー溢れが発生した場合、前記コントローラにキュー溢れが発生したことを通知し、
     前記コントローラは、前記キュー処理部からの通知に基づいて、前記複数の外部デバイスの設定値を調整する
     請求項8に記載の信号処理装置。
  10.  複数の外部デバイスのそれぞれから入力された複数のデータのそれぞれに対して、信号処理に必要とされる付加情報を付加して出力することと、
     複数段の処理部のそれぞれにおいて、前記付加情報に基づいて、前記複数のデータのそれぞれに対して共通化された信号処理を行うことと
     を含む
     信号処理方法。
  11.  複数のセンサと、
     前記複数のセンサのそれぞれから入力された複数のデータのそれぞれに対して、信号処理に必要とされる付加情報を付加して出力する複数の入力部と、
     それぞれが、前記付加情報に基づいて、前記複数のデータのそれぞれに対して共通化された信号処理を行うことが可能に構成された複数段の処理部と
     を備える
     撮像装置。
PCT/JP2021/037795 2020-11-09 2021-10-12 信号処理装置、信号処理方法、および撮像装置 WO2022097434A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/033,745 US20230393897A1 (en) 2020-11-09 2021-10-12 Signal processing device, signal processing method, and imaging apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020186819A JP2022076407A (ja) 2020-11-09 2020-11-09 信号処理装置、信号処理方法、および撮像装置
JP2020-186819 2020-11-09

Publications (1)

Publication Number Publication Date
WO2022097434A1 true WO2022097434A1 (ja) 2022-05-12

Family

ID=81457142

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/037795 WO2022097434A1 (ja) 2020-11-09 2021-10-12 信号処理装置、信号処理方法、および撮像装置

Country Status (3)

Country Link
US (1) US20230393897A1 (ja)
JP (1) JP2022076407A (ja)
WO (1) WO2022097434A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002247509A (ja) * 2001-02-21 2002-08-30 Sanyo Electric Co Ltd カメラ装置
JP2004349993A (ja) * 2003-05-22 2004-12-09 Hitachi Ltd 画像記録装置
JP2008042321A (ja) * 2006-08-02 2008-02-21 Sony Corp 画像信号処理装置、画像信号処理方法
JP2010178212A (ja) * 2009-01-30 2010-08-12 Panasonic Electric Works Co Ltd インターホンシステム
JP2014520457A (ja) * 2011-06-17 2014-08-21 インテル コーポレイション データパケットを通信する方法及びシステム
JP2020528700A (ja) * 2017-11-01 2020-09-24 オッポ広東移動通信有限公司Guangdong Oppo Mobile Telecommunications Corp., Ltd. デュアルカメラを使用する画像処理のための方法および移動端末

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002247509A (ja) * 2001-02-21 2002-08-30 Sanyo Electric Co Ltd カメラ装置
JP2004349993A (ja) * 2003-05-22 2004-12-09 Hitachi Ltd 画像記録装置
JP2008042321A (ja) * 2006-08-02 2008-02-21 Sony Corp 画像信号処理装置、画像信号処理方法
JP2010178212A (ja) * 2009-01-30 2010-08-12 Panasonic Electric Works Co Ltd インターホンシステム
JP2014520457A (ja) * 2011-06-17 2014-08-21 インテル コーポレイション データパケットを通信する方法及びシステム
JP2020528700A (ja) * 2017-11-01 2020-09-24 オッポ広東移動通信有限公司Guangdong Oppo Mobile Telecommunications Corp., Ltd. デュアルカメラを使用する画像処理のための方法および移動端末

Also Published As

Publication number Publication date
US20230393897A1 (en) 2023-12-07
JP2022076407A (ja) 2022-05-19

Similar Documents

Publication Publication Date Title
JP6238184B2 (ja) 撮像装置
US10348969B2 (en) Camera controller, image processing module, and semiconductor system
JP4827611B2 (ja) シリアルインタフェイス装置、画像形成装置
JP4982127B2 (ja) 画像表示システム
US9743012B2 (en) Image processing apparatus, system, method, and medium
KR102349433B1 (ko) 자이로스코프 센서를 제어할 수 있는 이미지 센서와 이를 포함하는 장치들
JP6429500B2 (ja) 光学機器、交換レンズ及び像ぶれ補正方法
WO2022097434A1 (ja) 信号処理装置、信号処理方法、および撮像装置
US20200005425A1 (en) Image processing device and imaging device
JP2002182260A (ja) 撮像装置
JP5956813B2 (ja) 画像処理装置およびその制御方法
JP4314898B2 (ja) 撮像装置、及びその画像制御方法
JP6223295B2 (ja) 撮像素子、その制御方法およびコンピュータプログラム、並びに撮像装置
JP2004289375A (ja) 画像処理装置及びカメラ
JP6658504B2 (ja) 撮像装置、撮像方法および撮像システム
JP2000350056A (ja) 輪郭補正回路及びそれを用いたカメラ
JP2007159037A (ja) 撮像装置、その制御方法及びプログラム
RU2376724C1 (ru) Сетевая система формирования и передачи изображения
US9940488B2 (en) Dual video pipe with overlap filtering
JP2024007758A (ja) 撮像装置およびその制御方法
JP6486132B2 (ja) 撮像装置およびその制御方法、並びにプログラム
JP2014030146A (ja) 撮像装置及びその制御方法
JP2007053491A (ja) データ処理装置及びデータ処理方法
JP2005064853A (ja) 撮像装置、プログラム、および色バランス補正方法
JP2006050308A (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: 21888987

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: 21888987

Country of ref document: EP

Kind code of ref document: A1