WO2023095666A1 - 信号処理装置および信号処理方法、並びに固体撮像素子 - Google Patents

信号処理装置および信号処理方法、並びに固体撮像素子 Download PDF

Info

Publication number
WO2023095666A1
WO2023095666A1 PCT/JP2022/042321 JP2022042321W WO2023095666A1 WO 2023095666 A1 WO2023095666 A1 WO 2023095666A1 JP 2022042321 W JP2022042321 W JP 2022042321W WO 2023095666 A1 WO2023095666 A1 WO 2023095666A1
Authority
WO
WIPO (PCT)
Prior art keywords
sum
input
convolution
pixel
processing unit
Prior art date
Application number
PCT/JP2022/042321
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 ソニーセミコンダクタソリューションズ株式会社
Publication of WO2023095666A1 publication Critical patent/WO2023095666A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/10Circuitry of solid-state image sensors [SSIS]; Control thereof for transforming different wavelengths into image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith

Definitions

  • the present disclosure relates to a signal processing device, a signal processing method, and a solid-state image pickup device, and more particularly to a signal processing device, a signal processing method, and a solid-state image pickup device that are capable of further improving signal processing capability.
  • CMOS Complementary Metal Oxide Semiconductor
  • Patent Document 1 discloses a technique for extracting image data in a plurality of convolution windows in parallel by a plurality of data processing units during the process of extracting convolution data.
  • the present disclosure has been made in view of such circumstances, and aims to further improve the signal processing capability.
  • a signal processing device includes first calculators whose number corresponds to the number of channels.
  • a sum-of-products operation processing unit that acquires sum-of-products operation results for the number of channels by performing sum-of-products operation processing, and a number of second arithmetic units corresponding to the number of filters, each of the second A convolution operation processing unit that performs convolution operation processing to acquire convolution layer output pixel values for the number of filters by performing convolution operation processing using the sum-of-products operation result in the arithmetic unit and output as encoded pixel data.
  • a signal processing method includes a sum-of-products operation processing unit having a number of first arithmetic units corresponding to the number of channels, and a convolution operation processing unit having a number of second arithmetic units corresponding to the number of filters. and performing sum-of-products calculation processing of input pixel values, which are pixel data of an input image, and filter coefficients in each of the first calculators, thereby obtaining sum-of-products calculation results for the number of channels. and performing convolution operation processing using the sum-of-products operation result in each of the second arithmetic units to acquire the convolution layer output pixel values for the number of filters, and as encoded pixel data and performing an output convolution operation.
  • a solid-state imaging device has a number of first calculators corresponding to the number of channels.
  • a sum-of-products operation processing unit that acquires sum-of-products operation results for the number of channels by performing sum-of-products operation processing, and a number of second arithmetic units corresponding to the number of filters, each of the second A convolution operation processing unit that performs convolution operation processing to acquire convolution layer output pixel values for the number of filters by performing convolution operation processing using the sum-of-products operation result in the arithmetic unit and output as encoded pixel data.
  • a signal processing unit that performs convolution operation processing to acquire convolution layer output pixel values for the number of filters by performing convolution operation processing using the sum-of-products operation result in the arithmetic unit and output as encoded pixel data.
  • the number of first calculators corresponding to the number of channels performs product-sum operation processing of input pixel values, which are pixel data of an input image, and filter coefficients, thereby performing product-sum operation processing for the number of channels.
  • a sum operation result is acquired, and a convolution layer output pixel value for the number of filters is acquired and encoded by performing convolution operation processing using the sum-of-products operation result in each of the second operators whose number corresponds to the number of filters.
  • a convolution operation is performed to output as already completed pixel data.
  • FIG. 1 is a block diagram showing a configuration example of an embodiment of an imaging device to which the present technology is applied; FIG. It is a figure explaining the process with respect to a pixel signal.
  • 3 is a block diagram illustrating a configuration example of a storage unit and an encoding unit;
  • FIG. It is a block diagram which shows the structural example of an arithmetic unit.
  • It is a block diagram which shows the structural example of an arithmetic unit.
  • FIG. 10 is a diagram illustrating parallel sum-of-products operation;
  • FIG. 4 is a diagram showing an example of an arithmetic expression used in convolution arithmetic; It is a figure explaining convolution operation processing performed using three filters. It is a figure explaining the 1st arithmetic processing.
  • FIG. 11 is a flowchart for explaining a first processing example of convolution operation processing;
  • FIG. 11 is a flowchart for explaining a second processing example of convolution operation processing;
  • FIG. A configuration example of a stacked imaging device will be described. It is a block diagram which shows the structural example of an imaging device.
  • FIG. 10 is a diagram showing an example of use using an image sensor;
  • FIG. 1 is a block diagram showing a configuration example of an embodiment of an imaging device to which the present technology is applied.
  • the imaging device 11 includes an imaging unit 21, an imaging processing unit 22, a storage unit 23, a DMA processing unit 24, an encoding unit 25, a transmission unit 26, a reception unit 27, and a control unit 28. configured by being connected via
  • the imaging unit 21 is configured by arranging a plurality of pixels in a matrix on the sensor surface, and supplies the imaging processing unit 22 with a pixel signal corresponding to the amount of light received by each pixel.
  • the imaging processing unit 22 performs imaging processing such as, for example, demosaic processing on the pixel signals supplied from the imaging unit 21 and supplies pixel data obtained as a result of the imaging processing to the storage unit 23 .
  • the storage unit 23 is composed of, for example, a DRAM (Dynamic Random Access Memory) or the like, and stores pixel data supplied from the imaging processing unit 22 .
  • a DRAM Dynamic Random Access Memory
  • a DMA (Direct Memory Access) processing unit 24 executes processing related to memory access when transferring pixel data directly from the storage unit 23 to the encoding unit 25 .
  • the encoding unit 25 encodes the image captured by the imaging unit 21 by performing convolution operation processing on the pixel data transferred from the storage unit 23 according to memory access by the DMA processing unit 24 . Then, the encoding unit 25 causes the storage unit 23 to store the encoded pixel data. A detailed configuration of the encoding unit 25 will be described later with reference to FIG.
  • the transmission unit 26 reads the encoded pixel data from the storage unit 23 and transmits it to the outside of the imaging device 11 (for example, recording medium, display unit, etc.).
  • the receiving unit 27 receives, for example, control data transmitted from a control device (not shown) and supplies it to the control unit 28 .
  • the control unit 28 controls each block constituting the imaging device 11 according to the control data, and executes imaging by the imaging device 11 .
  • FIG. 2 is a diagram for explaining processing for pixel signals output from the imaging unit 21.
  • FIG. 2 is a diagram for explaining processing for pixel signals output from the imaging unit 21.
  • the imaging unit 21 can adopt a configuration including Bayer array pixels or a configuration including Raw pixels, and can output pixel signals by normal scanning or thinning scanning in each configuration.
  • the Bayer array pixel imaging unit 21 applies a red R color filter to the upper left pixel, a green G color filter to the upper right pixel, and a green G color filter to the lower left pixel, for four pixels in a 2 ⁇ 2 array. , and an arrangement pattern in which a blue B color filter is arranged in the lower right pixel is provided so as to be repeated in the row direction and the column direction. Then, in the imaging unit 21 of the Bayer array pixels, pixel signals R, pixel signals G, and pixel signals B representing luminance values of light in wavelength ranges corresponding to respective colors are output from the pixels.
  • the pixel signals output from the 2 ⁇ 2 array of pixels in the upper left corner output from the imaging unit 21 are the pixel signal R00, the pixel signal G01, the pixel signal G10, and the pixel signal B11.
  • the pixel signals output from the 2 ⁇ 2 array of pixels in the upper left corner output from the imaging unit 21 are the pixel signal R00, the pixel signal G03, the pixel signal G30, and the pixel signal B33.
  • pixel addition may be performed for pixels that are not selected, and the pixel signals resulting from the pixel addition may be output.
  • the pixel signals output from the imaging unit 21 of Bayer array pixels are subjected to, for example, demosaicing processing in the imaging processing unit 22 , and the pixel data z obtained by this processing are stored in the storage unit 23 .
  • the imaging unit 21 of Raw pixels is configured without a color filter like the Bayer array pixels, and pixel signals z representing the luminance values of light in all wavelength ranges are output from the pixels.
  • the pixel signals of the 2 ⁇ 2 pixels at the upper left corner output from the imaging unit 21 are pixel signal z00, pixel signal z01, pixel signal z10, and pixel signal z11. These pixel signals z are used as pixel data z without being processed in the imaging processing unit 22 .
  • the pixel signals of the 2 ⁇ 2 pixels at the upper left corner output from the imaging unit 21 are pixel signal z00, pixel signal z02, pixel signal z20, and pixel signal z22. These pixel signals z are used as pixel data z without being processed in the imaging processing unit 22 . A thinned image can also be restored to its original resolution at the time of decoding.
  • FIG. 3 is a block diagram illustrating a configuration example of the storage section 23 and the encoding section 25. As shown in FIG.
  • the storage unit 23 comprises a line memory 31 , a frame memory 32 and a network data memory 33 .
  • the line memory 31 stores the pixel data supplied from the imaging processing unit 22 for each line of the image.
  • the frame memory 32 stores pixel data for each line supplied from the line memory 31, and stores pixel data for one frame.
  • the network data memory 33 stores encoded pixel data output from the encoding unit 25, for example.
  • the encoding unit 25 comprises an input data buffer 41 , a convolution processing unit 42 and an output data buffer 43 .
  • the input data buffer 41 temporarily stores pixel data transferred from the frame memory 32 of the storage unit 23 according to memory access by the DMA processing unit 24 and sequentially inputs the pixel data to the convolution processing unit 42 .
  • the convolution processing unit 42 performs convolution processing on pixel values represented by pixel data input via the input data buffer 41 (hereinafter referred to as input pixel values).
  • the convolution processing unit 42 is configured to have arithmetic units 44-1 to 44-M, the number of which corresponds to the number of filters M, and performs convolution processing on input pixel values to perform convolution for the number M of filters. Get the layer output pixel value. Then, the convolution operation processing unit 42 outputs the convolution layer output pixel values for the number M of filters to the output data buffer 43 as encoded pixel data.
  • a detailed configuration of the calculator 44 will be described later with reference to FIG.
  • the output data buffer 43 temporarily stores encoded pixel data supplied from the convolution processing unit 42 and sequentially outputs the data to the network data memory 33 of the frame memory 32 according to memory access by the DMA processing unit 24 .
  • FIG. 4 is a block diagram showing a configuration example of the calculator 44. As shown in FIG.
  • Arithmetic unit 44 is configured with sum-of-products arithmetic processing unit 51 , adder 52 , and multiplier 53 .
  • the product-sum operation processing unit 51 performs product-sum operation processing on the input pixel values supplied via the input data buffer 41 .
  • the sum-of-products operation processing unit 51 includes calculators 54-1 to 54-K, the number of which corresponds to the number K of channels. , and supplies it to the adder 52 .
  • the adder 52 adds the sum-of-products calculation results for K channels supplied from the sum-of-products calculation processing unit 51, and adds the bias value supplied via the input data buffer 41.
  • the resulting convolved value is supplied to multiplier 53 .
  • the multiplier 53 performs an activation operation by inputting the convolution value supplied from the adder 52 to the activation operator supplied via the input data buffer 41, and obtains the result of the activation operation. Output the convolutional layer output pixel values to the output data buffer 43 .
  • FIG. 5 is a block diagram showing a configuration example of the calculator 54. As shown in FIG.
  • the calculator 54 is configured with a data buffer 61 , a shift register 62 , a filter buffer 63 , a multiplier 64 and an adder 65 .
  • the data buffer 61 is supplied with pixel data to be the input pixel value z via the input data buffer 41, and the data buffer 61 sequentially stores the input pixel value z in an array having a size according to the filter size,
  • multiplier 64 is provided with input pixel value z.
  • nine input pixel values z arranged in a 3 ⁇ 3 array are stored in the data buffer 61 .
  • the shift register 62 receives the input pixel values z of the first and second rows stored in the data buffer 61, shifts the input pixel values z by the shift values controlled by the control unit 28, and converts the input pixel values z into data. Output to the second and third lines of the buffer 61 .
  • the illustrated configuration of the shift register 62 is merely an example, and may have a configuration other than the input pixel values z of the first and second rows.
  • the filter buffer 63 is supplied with weight data to be the filter coefficients h via the input data buffer 41, and the filter buffer 63 sequentially stores the filter coefficients h in an array having a size according to the filter size.
  • a multiplier 64 is supplied with the filter coefficient h. In the illustrated example, nine filter coefficients h in a 3 ⁇ 3 array are stored in the filter buffer 63 .
  • the multiplier 64 multiplies the 3 ⁇ 3 array of input pixel values z supplied from the data buffer 61 by the 3 ⁇ 3 array of filter coefficients h supplied from the filter buffer 63, and the result of the operation is is supplied to the adder 65 .
  • the adder 65 acquires the result of the sum-of-products operation by performing the operation of adding the multiplied values for the 3 ⁇ 3 array supplied from the multiplier 64, and supplies the result to the adder 52 in FIG.
  • the multiplier 64 and the adder 65 may rearrange the input pixel value z and the filter coefficient h to perform parallel sum-of-products operation (vector operation).
  • FIG. 7 shows an example of an arithmetic expression used in the convolution operation.
  • the convolution value u ijm is obtained by multiplying and summing the input pixel value z i + p, j + q, k (l ⁇ 1) and the filter coefficient h pqkm to obtain the sum of product operation result, and the number of channels of the input image. It is obtained by adding the sum-of-products operation result for K and the bias value bijm . Then, the convolution layer output pixel value z ijm (l) is obtained by an activation operation performed by inputting the convolution value u ijm to the activation operator f( ⁇ ).
  • the multipliers 64 (FIG. 5) of the respective calculators 54 combine input pixel values z i+p, j+q, k (l ⁇ 1) in an H ⁇ H array and H ⁇ H An operation is performed to multiply the filter coefficients h pqk0 in the array.
  • the calculation in the area surrounded by the dashed-dotted line corresponds to the calculation of the area surrounded by the dashed-dotted line in the arithmetic expression of FIG.
  • the adder 65 (FIG. 5) of each calculator 54 adds the multiplied values of the H ⁇ H array obtained as the result of the calculation by the multiplier 64. By doing so, the sum-of-products operation result is acquired and supplied to the adder 52 (FIG. 4).
  • the adder 52 acquires the convolution value u ij0 by adding the product-sum operation results for the number of channels K and the bias value b ij0
  • the multiplier 53 converts the convolution value u ij0 to the activation operator f( ) to obtain the convolutional layer output pixel value z ij0 (l) by performing an activation operation. Calculations in the area surrounded by the dashed lines correspond to the calculations in the area surrounded by the dashed lines in the calculation formula of FIG.
  • the convolutional layer output pixel value z ij1 (l) and the convolutional layer An output pixel value z ij2 (l) can be obtained.
  • the convolution operation consists of the product-sum operation corresponding to the portion enclosed by the dashed line and the second operation processing corresponding to the portion enclosed by the dashed line for each filter. It can be decomposed into a sum operation and an activation operation.
  • the first arithmetic processing will be described with reference to FIG. 9, and the second arithmetic processing will be described with reference to FIG. 9 and 10 show a processing example in which a red R image, a green G image, and a blue B image are used, and the number of channels K is three.
  • input pixel values for example, R00, R01, R02, R10, R11, R12, R20, R21, R22
  • the filter buffer 63 stores filter coefficients for a 3 ⁇ 3 array (for example, h00, h01, h02, h10, h11, h12, h20, h21, h22).
  • the input pixel value stored in the data buffer 61 and the filter coefficient stored in the filter buffer 63 are multiplied by the multiplier 64, and the multiplication result is added by the adder 65 to obtain The sum-of-products operation result is output.
  • the result of the sum-of-products operation is is output.
  • the bias value b is added by the adder 52 to obtain the convolution value u, and the multiplier 53 inputs the convolution value u to the activation operator f( ⁇ ) to perform the activation operation.
  • the convolutional layer output pixel value z (l) is output.
  • the second arithmetic processing a sum operation for adding the processing results of the first arithmetic processing performed for each channel and an activation operation according to the activation operator f(.) are performed. . Also, the second arithmetic processing is performed in parallel according to the number of filters.
  • pixel data of an input image obtained by imaging each line in the imaging unit 21 is supplied to the storage unit 23 and stored in the frame memory 32 via the line memory 31 .
  • Pixel data of the input image is transferred from the frame memory 32 to the input data buffer 41 according to memory access by the DMA processing unit 24 .
  • FIG. 11A is a diagram illustrating a first transfer method (a transfer method that does not use the shift register 62) for transferring pixel data of an input image according to the number of filter coefficients.
  • FIG. 11A shows an example in which a filter size of 3 ⁇ 3 array is used, 9 pixel data, which is the number of filter coefficients, is transferred, and the number of slides is 1 pixel.
  • 9 pixel data which is the number of filter coefficients
  • the number of slides is 1 pixel.
  • nine pixel data surrounded by a dashed line are transferred from the frame memory 32 to the input data buffer 41 .
  • the nine pixel data surrounded by the two-dot chain line are shifted from the frame memory 32 to the input data buffer 41 by shifting by one pixel, which is the number of slides. transferred to
  • FIG. 11B is a diagram explaining a second transfer method of dividing an input image into a plurality of tiles and transferring pixel data for each tile.
  • FIG. 11B shows an example of dividing the input image into four tiles. For example, pixel data surrounded by a dashed line constitute one tile, and the pixel data of that tile are transferred from the frame memory 32 to the input data buffer 41 . Then, when the convolution operation processing for the pixel data of the tile is completed, the pixel data of the next tile is transferred from the frame memory 32 to the input data buffer 41 with the next tile as the object of processing.
  • FIG. 11C is a diagram explaining a third transfer method for transferring all pixel data of an input image.
  • All the pixel data of the input image surrounded by broken lines in FIG. 11C are transferred from the frame memory 32 to the input data buffer 41.
  • FIG. 12 is a flowchart for explaining a first processing example of the convolution operation processing executed in the encoding section 25. As shown in FIG. In the first processing example, as described with reference to FIG. 11A, the first transfer method of transferring the pixel data of the input image according to the number of filter coefficients is used.
  • step S11 the pixel data of the input image corresponding to the number of filter coefficients are transferred from the frame memory 32 of the storage unit 23 to the input data buffer 41 of the convolution processing unit 42 according to memory access by the DMA processing unit 24.
  • step S12 in the convolution processing unit 42, the number of calculators 44-1 to 44-M corresponding to the number of filters M convolves the pixel data of the input image of the number transferred to the input data buffer 41 in step S11. Perform arithmetic processing.
  • step S13 in the sum-of-products calculation processing unit 51 of each of the calculators 44-1 to 44-M, the number of calculators 54-1 to 54-K corresponding to the number of channels K is stored in the input data buffer 41 in step S11.
  • a sum-of-products operation process is performed on the transferred number of pixel data of the input image and the filter coefficients. Note that the sum-of-products calculation process in step S13 can be performed as part of the convolution calculation process in step S12.
  • step S14 the convolution processing unit 42 determines whether the convolution processing for the input image transferred to the input data buffer 41 in step S11 has been completed.
  • step S14 If it is determined in step S14 that the convolution calculation process for the input image has not been completed, the process proceeds to step S15.
  • step S15 the DMA processing unit 24 shifts the pixel data to be transferred from the frame memory 32 of the storage unit 23 to the input data buffer 41 of the convolution processing unit 42 according to the number of slides. After that, the process returns to step S11, the next pixel data is transferred according to the shift, and the same process is repeated thereafter.
  • step S14 if it is determined in step S14 that the convolution operation processing for the input image has been completed, the convolution operation processing ends.
  • FIG. 13 is a flow chart explaining a second processing example of the convolution operation processing executed in the encoding unit 25.
  • FIG. 13 is a flow chart explaining a second processing example of the convolution operation processing executed in the encoding unit 25.
  • the second transfer method of transferring pixel data for each tile is used.
  • step S21 the pixel data of the input image for one tile is transferred from the frame memory 32 of the storage unit 23 to the input data buffer 41 of the convolution processing unit 42 according to the memory access by the DMA processing unit 24.
  • step S22 in the convolution processing unit 42, the number of calculators 44-1 to 44-M corresponding to the number of filters M is used to convert the pixels of the input image for one tile transferred to the input data buffer 41 in step S21. Performs convolution operation processing on data.
  • step S23 in the sum-of-products calculation processing unit 51 of each of the calculators 44-1 to 44-M, the number of calculators 54-1 to 54-K corresponding to the number of channels K is stored in the input data buffer 41 in step S21.
  • a sum-of-products operation process is performed on the transferred pixel data of the input image for one tile and the filter coefficients. At this time, as described with reference to FIG. , is held in the shift register 62 . Note that the sum-of-products calculation process in step S23 can be performed as part of the convolution calculation process in step S22.
  • step S24 the calculator 54 determines whether or not the convolution calculation process for the input image transferred to the input data buffer 41 in step S11 has been completed.
  • step S24 If it is determined in step S24 that the convolution calculation process for the input image has not been completed, the process proceeds to step S25.
  • step S25 the computing unit 54 slides the pixel data held in the shift register 62 according to the shift value controlled by the control unit 28, and after the sliding, the pixel data stored in the data buffer 61 is This is the target of sum-of-products operation processing. Then, the process returns to step S23, and the sum-of-products operation process is continued.
  • step S24 determines whether or not the convolution operation processing for all tiles has been completed and the tiling has been completed.
  • step S26 If it is determined in step S26 that tiling has not been completed, the process proceeds to step S27.
  • step S ⁇ b>27 the DMA processing unit 24 processes the next tile for the pixel data transferred from the frame memory 32 of the storage unit 23 to the input data buffer 41 of the convolution processing unit 42 . After that, the process returns to step S11, the pixel data of the next tile is transferred, and the same process is repeated thereafter.
  • step S26 if it is determined in step S26 that the tiling has been completed, the convolution operation process ends.
  • the convolution operation processing described with reference to FIG. 13 may be applied to the third transfer method for transferring all pixel data of the input image as described with reference to C of FIG. In this case, the processes of steps S26 and S27 are omitted, and the convolution process ends when it is determined in the process of step S24 that the convolution process for the input image has been completed.
  • FIG. 14 is a diagram illustrating a configuration example of the stacked imaging device 11. As shown in FIG. 14
  • a stacked-type imaging device 11A shown in A of FIG. It has a laminated structure in which
  • a stacked-type imaging device 11B shown in FIG. 14B has a sensor substrate 71 and a logic substrate 72 stacked in the same manner as the stacked-type imaging device 11A. It has a laminated structure in which
  • a structure using TSV (through-silicon via) or a Cu-Cu junction is used for electrical and mechanical connection between the respective substrates.
  • the structure used can be adopted.
  • the imaging device 11 as described above can be applied to various electronic devices such as imaging systems such as digital still cameras and digital video cameras, mobile phones with imaging functions, and other devices with imaging functions. can be done.
  • FIG. 15 is a block diagram showing a configuration example of an imaging device mounted on an electronic device.
  • the imaging device 101 includes an optical system 102, an imaging device 103, a signal processing circuit 104, a monitor 105, and a memory 106, and is capable of capturing still images and moving images.
  • the optical system 102 is configured with one or more lenses, guides image light (incident light) from a subject to the imaging element 103, and forms an image on the light receiving surface (sensor section) of the imaging element 103.
  • the image sensor 103 As the image sensor 103, the image sensor 11 described above is applied. Electrons are accumulated in the imaging element 103 for a certain period of time according to the image formed on the light receiving surface via the optical system 102 . A signal corresponding to the electrons accumulated in the image sensor 103 is supplied to the signal processing circuit 104 .
  • the signal processing circuit 104 performs various signal processing on the pixel signals output from the image sensor 103 .
  • An image (image data) obtained by the signal processing performed by the signal processing circuit 104 is supplied to the monitor 105 for display or supplied to the memory 106 for storage (recording).
  • the imaging device 101 configured in this way, by applying the above-described imaging device 11, for example, images can be captured at a higher speed.
  • FIG. 16 is a diagram showing a usage example using the image sensor (imaging element) described above.
  • the image sensor described above can be used in various cases for sensing light such as visible light, infrared light, ultraviolet light, and X-rays, for example, as follows.
  • ⁇ Devices that capture images for viewing purposes, such as digital cameras and mobile devices with camera functions.
  • Devices used for transportation such as in-vehicle sensors that capture images behind, around, and inside the vehicle, surveillance cameras that monitor running vehicles and roads, and ranging sensors that measure the distance between vehicles.
  • Devices used in home appliances such as TVs, refrigerators, air conditioners, etc., to take pictures and operate devices according to gestures ⁇ Endoscopes, devices that perform angiography by receiving infrared light, etc.
  • Equipment used for medical and healthcare purposes such as surveillance cameras for crime prevention and cameras for personal authentication
  • microscopes used for beauty such as microscopes used for beauty
  • Sports such as action cameras and wearable cameras for use in sports ⁇ Cameras, etc. for monitoring the condition of fields and crops , agricultural equipment
  • the present technology can also take the following configuration.
  • (1) The number of first calculators corresponding to the number of channels is provided, and each of the first calculators performs product-sum operation processing of an input pixel value, which is pixel data of an input image, and a filter coefficient.
  • a sum-of-products operation processing unit that acquires sum-of-products operation results for a number of times;
  • a convolution layer output pixel value corresponding to the number of filters by performing convolution operation processing using the sum-of-products operation result in each of the second arithmetic units.
  • a convolution processing unit that performs convolution processing for acquiring and outputting as encoded pixel data.
  • each of the second arithmetic units includes the sum-of-products arithmetic processing unit.
  • the first calculator is a data buffer for sequentially storing the input pixel values sized according to the filter size; a filter buffer that sequentially stores the filter coefficients sized according to the filter size; a first multiplier that multiplies the input pixel value stored in the data buffer and the filter coefficient stored in the filter buffer to obtain a predetermined number of multiplied values corresponding to the filter size;
  • the second operator is a second adder for obtaining a convolution value by adding each of the sum-of-products calculation results for the number of channels output from the sum-of-products calculation processing unit and adding a predetermined bias value;
  • the signal processing device according to any one of (1) to (3) above, further comprising: a second multiplier for inputting to a predetermined activation operator to obtain the sum-of-products operation result.
  • (5) further comprising an input buffer for temporarily storing the input pixel value input to the convolution processing unit;
  • the signal processing device according to any one of (1) to (4) above, wherein the input pixel values corresponding to the number of filter coefficients are transferred from a storage unit that stores the input image to the input buffer.
  • the input pixel value is transferred from a storage unit that stores the input image to the input buffer for each tile obtained by dividing the input image into a plurality of tiles. signal processor.
  • a signal processing device comprising a sum-of-products operation processing unit having a number of first arithmetic units corresponding to the number of channels, and a convolution operation processing unit having a number of second arithmetic units corresponding to the number of filters, acquiring sum-of-products calculation results for the number of channels by performing sum-of-products calculation processing of input pixel values, which are pixel data of an input image, and filter coefficients in each of the first calculators; Convolution operation processing for acquiring convolution layer output pixel values for the number of filters by performing convolution operation processing using the sum-of-products operation result in each of the second arithmetic units, and outputting them as encoded pixel data.
  • a signal processing method comprising: (8) The number of first calculators corresponding to the number of channels is provided, and each of the first calculators performs product-sum operation processing of an input pixel value, which is pixel data of an input image, and a filter coefficient. a sum-of-products operation processing unit that acquires sum-of-products operation results for a number of times; a convolution layer output pixel value corresponding to the number of filters; and a signal processing unit that performs convolution operation processing to obtain and output as encoded pixel data.
  • the solid state according to (8) above which has a laminated structure in which a sensor substrate provided with an imaging section in which a plurality of pixels are arranged in a matrix on a sensor surface and a logic substrate provided with the signal processing section are laminated. image sensor.
  • the solid-state imaging device according to (9) above which has a laminated structure in which a memory substrate provided with a storage section for storing pixel data based on pixel signals output from the imaging section is further laminated.
  • 11 image pickup device 21 image pickup unit, 22 image pickup processing unit, 23 storage unit, 24 DMA processing unit, 25 encoding unit, 26 transmission unit, 27 reception unit, 28 control unit, 31 line memory, 32 frame memory, 33 network data memory , 41 Input data buffer, 42 Convolution operation processor, 43 Output data buffer, 44 Arithmetic unit, 51 Product sum operation unit, 52 Adder, 53 Multiplier, 54 Arithmetic unit, 61 Data buffer, 62 Shift register, 63 Filter Buffer, 64 multiplier, 65 adder, 71 sensor board, 72 logic board, 73 memory board

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)

Abstract

本開示は、より信号処理能力の向上を図ることができるようにする信号処理装置および信号処理方法、並びに固体撮像素子に関する。 信号処理装置は、チャネル数に応じた個数の第1の演算器を有し、それぞれの第1の演算器において入力画像の画素データである入力画素値とフィルタ係数との積和演算処理を行うことによってチャネル数分の積和演算結果を取得する積和演算処理部と、フィルタ数に応じた個数の第2の演算器を有し、それぞれの第2の演算器において積和演算結果を用いた畳み込み演算処理を行うことによってフィルタ数分の畳み込み層出力画素値を取得して、エンコード済みの画素データとして出力する畳み込み演算処理を行う畳み込み演算処理部とを備える。本技術は、例えば、積層型のCMOSイメージセンサに適用できる。

Description

信号処理装置および信号処理方法、並びに固体撮像素子
 本開示は、信号処理装置および信号処理方法、並びに固体撮像素子に関し、特に、より信号処理能力の向上を図ることができるようにした信号処理装置および信号処理方法、並びに固体撮像素子に関する。
 近年、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどの固体撮像素子の高機能化が進んでおり、例えば、撮像された画像の画素データに対して畳み込み演算を施してエンコード済みの画素データを出力することができる。
 例えば、特許文献1には、畳み込みデータを抽出するプロセス中に、複数のデータ処理ユニットにより、複数の畳み込みウィンドウ内の画像データを並行して抽出する技術が開示されている。
特開2021-22362号公報
 ところで、上述したような畳み込み演算を施す信号処理について、さらなる信号処理能力の向上が求められている。
 本開示は、このような状況に鑑みてなされたものであり、より信号処理能力の向上を図ることができるようにするものである。
 本開示の一側面の信号処理装置は、チャネル数に応じた個数の第1の演算器を有し、それぞれの前記第1の演算器において入力画像の画素データである入力画素値とフィルタ係数との積和演算処理を行うことによって前記チャネル数分の積和演算結果を取得する積和演算処理部と、フィルタ数に応じた個数の第2の演算器を有し、それぞれの前記第2の演算器において前記積和演算結果を用いた畳み込み演算処理を行うことによって前記フィルタ数分の畳み込み層出力画素値を取得して、エンコード済みの画素データとして出力する畳み込み演算処理を行う畳み込み演算処理部とを備える。
 本開示の一側面の信号処理方法は、チャネル数に応じた個数の第1の演算器を有する積和演算処理部と、フィルタ数に応じた個数の第2の演算器を有する畳み込み演算処理部とを備える信号処理装置が、それぞれの前記第1の演算器において入力画像の画素データである入力画素値とフィルタ係数との積和演算処理を行うことによって前記チャネル数分の積和演算結果を取得することと、それぞれの前記第2の演算器において前記積和演算結果を用いた畳み込み演算処理を行うことによって前記フィルタ数分の畳み込み層出力画素値を取得して、エンコード済みの画素データとして出力する畳み込み演算処理を行うこととを含む。
 本開示の一側面の固体撮像素子は、チャネル数に応じた個数の第1の演算器を有し、それぞれの前記第1の演算器において入力画像の画素データである入力画素値とフィルタ係数との積和演算処理を行うことによって前記チャネル数分の積和演算結果を取得する積和演算処理部と、フィルタ数に応じた個数の第2の演算器を有し、それぞれの前記第2の演算器において前記積和演算結果を用いた畳み込み演算処理を行うことによって前記フィルタ数分の畳み込み層出力画素値を取得して、エンコード済みの画素データとして出力する畳み込み演算処理を行う畳み込み演算処理部とを有する信号処理部を備える。
 本開示の一側面においては、チャネル数に応じた個数の第1の演算器それぞれにおいて入力画像の画素データである入力画素値とフィルタ係数との積和演算処理を行うことによってチャネル数分の積和演算結果が取得され、フィルタ数に応じた個数の第2の演算器それぞれにおいて積和演算結果を用いた畳み込み演算処理を行うことによってフィルタ数分の畳み込み層出力画素値を取得して、エンコード済みの画素データとして出力する畳み込み演算処理が行われる。
本技術を適用した撮像素子の一実施の形態の構成例を示すブロック図である。 画素信号に対する処理について説明する図である。 記憶部およびエンコード部の構成例を説明するブロック図である。 演算器の構成例を示すブロック図である。 演算器の構成例を示すブロック図である。 並列積和演算について説明する図である。 畳み込み演算で用いられる演算式の一例を示す図である。 3つのフィルタを用いて行われる畳み込み演算処理について説明する図である。 第1の演算処理について説明する図である。 第2の演算処理について説明する図である。 入力画像の転送方法について説明する図である。 畳み込み演算処理の第1の処理例を説明するフローチャートである。 畳み込み演算処理の第2の処理例を説明するフローチャートである。 積層型の撮像素子の構成例について説明する。 撮像装置の構成例を示すブロック図である。 イメージセンサを使用する使用例を示す図である。
 以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
 <撮像素子の構成例>
 図1は、本技術を適用した撮像素子の一実施の形態の構成例を示すブロック図である。
 図1に示すように、撮像素子11は、撮像部21、撮像処理部22、記憶部23、DMA処理部24、エンコード部25、送信部26、受信部27、および制御部28が、バスを介して接続されて構成される。
 撮像部21は、複数の画素がセンサ面に行列状に配置されて構成され、それぞれの画素が受光した光の光量に応じた画素信号を撮像処理部22に供給する。
 撮像処理部22は、撮像部21から供給される画素信号に対して、例えば、デモザイク処理などの撮像処理を施し、その撮像処理の結果として得られる画素データを記憶部23に供給する。
 記憶部23は、例えば、DRAM(Dynamic Random Access Memory)などにより構成され、撮像処理部22から供給される画素データを記憶する。
 DMA(Direct Memory Access)処理部24は、記憶部23からエンコード部25へ直接的に画素データを転送する際のメモリアクセスに関する処理を実行する。
 エンコード部25は、DMA処理部24によるメモリアクセスに従って記憶部23から転送されてくる画素データに対する畳み込み演算処理を行うことで、撮像部21により撮像された画像をエンコードする。そして、エンコード部25は、エンコード済みの画素データを記憶部23に記憶させる。なお、エンコード部25の詳細な構成については、図3を参照して後述する。
 送信部26は、エンコード済みの画素データを記憶部23から読み出して、撮像素子11の外部(例えば、記録媒体や表示部など)へ送信する。
 受信部27は、例えば、図示しない制御装置から送信されてくる制御データなどを受信し、制御部28に供給する。
 制御部28は、制御データに従って撮像素子11を構成する各ブロックに対する制御を行い、撮像素子11による撮像を実行する。
 図2は、撮像部21から出力される画素信号に対する処理について説明する図である。
 例えば、撮像部21は、ベイヤ配列画素を備えた構成、または、Raw画素を備えた構成を採用することができ、それぞれの構成で、通常走査または間引き走査で画素信号を出力することができる。
 ベイヤ配列画素の撮像部21は、2×2配列の4つの画素に対して、左上の画素に赤色Rのカラーフィルタ、右上の画素に緑色Gのカラーフィルタ、左下の画素に緑色Gのカラーフィルタ、および、右下の画素に青色Bのカラーフィルタが配置される配置パターンが、行方向および列方向に繰り返されるように設けられて構成される。そして、ベイヤ配列画素の撮像部21では、それぞれの色に応じた波長域の光の輝度値を表す画素信号R、画素信号G、および画素信号Bが画素から出力される。
 例えば、ベイヤ配列画素の撮像部21において通常走査で画素信号を出力する場合、全ての画素から画素信号が出力される。従って、撮像部21から出力される左上隅の2×2配列の画素から出力される画素信号は、画素信号R00、画素信号G01、画素信号G10、および画素信号B11となる。
 また、ベイヤ配列画素の撮像部21において間引き走査で画素信号を出力する場合、図示するように破線の丸印が付けられた一部の画素が選択対象となって、それらの画素から画素信号が出力される。従って、撮像部21から出力される左上隅の2×2配列の画素から出力される画素信号は、画素信号R00、画素信号G03、画素信号G30、および画素信号B33となる。なお、間引き走査で画素信号を出力する場合において、選択対象となっていない画素の画素加算を行って、画素加算された画素信号を出力してもよい。
 そして、ベイヤ配列画素の撮像部21から出力された画素信号は、例えば、撮像処理部22においてデモザイク処理が施され、その処理により取得される画素データzが、記憶部23に記憶される。
 一方、Raw画素の撮像部21は、ベイヤ配列画素のようなカラーフィルタが設けられずに構成され、全ての波長域の光の輝度値を表す画素信号zが画素から出力される。
 例えば、Raw画素の撮像部21において通常走査で画素信号を出力する場合、全ての画素から画素信号が出力される。従って、撮像部21から出力される左上隅の2×2画素の画素信号は、画素信号z00、画素信号z01、画素信号z10、および画素信号z11となる。これらの画素信号zは、撮像処理部22において処理が施されることなく、画素データzとして用いられる。
 また、Raw画素の撮像部21において間引き走査で画素信号を出力する場合、図示するように破線の丸印が付けられた一部の画素が選択対象となって、それらの画素から画素信号が出力される。従って、撮像部21から出力される左上隅の2×2画素の画素信号は、画素信号z00、画素信号z02、画素信号z20、および画素信号z22となる。これらの画素信号zは、撮像処理部22において処理が施されることなく、画素データzとして用いられる。なお、間引きされた画像も、デコード時に元の解像度に復元することが可能である。
 図3は、記憶部23およびエンコード部25の構成例を説明するブロック図である。
 記憶部23は、ラインメモリ31、フレームメモリ32、およびネットワークデータメモリ33を備えて構成される。
 ラインメモリ31は、撮像処理部22から供給される画素データを画像の1ラインごとに記憶する。フレームメモリ32は、ラインメモリ31から供給される1ラインごとの画素データを記憶し、1フレーム分の画素データを記憶する。ネットワークデータメモリ33は、例えば、エンコード部25から出力されるエンコード済みの画素データを記憶する。
 エンコード部25は、入力データバッファ41、畳み込み演算処理部42、および出力データバッファ43を備えて構成される。
 入力データバッファ41は、DMA処理部24によるメモリアクセスに従って記憶部23のフレームメモリ32から転送される画素データを一時的に記憶し、順次、畳み込み演算処理部42に画素データを入力する。
 畳み込み演算処理部42は、入力データバッファ41を介して入力される画素データが表す画素値(以下、入力画素値と称する)に対して畳み込み演算処理を行う。例えば、畳み込み演算処理部42は、フィルタ数Mに応じた個数の演算器44-1乃至44-Mを有して構成され、入力画素値に対する畳み込み演算処理を行うことによってフィルタ数M分の畳み込み層出力画素値を取得する。そして、畳み込み演算処理部42は、フィルタ数M分の畳み込み層出力画素値を、エンコード済みの画素データとして出力データバッファ43に出力する。なお、演算器44の詳細な構成については、図4を参照して後述する。
 出力データバッファ43は、畳み込み演算処理部42から供給されるエンコード済みの画素データを一時的に記憶し、DMA処理部24によるメモリアクセスに従って順次、フレームメモリ32のネットワークデータメモリ33に出力する。
 図4は、演算器44の構成例を示すブロック図である。
 演算器44は、積和演算処理部51、加算器52、および乗算器53を備えて構成される。
 積和演算処理部51は、入力データバッファ41を介して供給される入力画素値に対して積和演算処理を行う。例えば、積和演算処理部51は、チャネル数Kに応じた個数の演算器54-1乃至54-Kを有して構成され、入力画素値に対する積和演算処理を行うことによってチャネル数K分の積和演算結果を取得し、加算器52に供給する。
 加算器52は、積和演算処理部51から供給されるチャネル数K分の積和演算結果を加算し、入力データバッファ41を介して供給されるバイアス値を加算する演算を行い、その演算の結果として得られる畳み込み値を、乗算器53に供給する。
 乗算器53は、加算器52から供給される畳み込み値を、入力データバッファ41を介して供給される活性化演算子に入力することによって活性化演算を行い、その活性化演算の結果として得られる畳み込み層出力画素値を出力データバッファ43に出力する。
 図5は、演算器54の構成例を示すブロック図である。
 演算器54は、データバッファ61、シフトレジスタ62、フィルタバッファ63、乗算器64、および加算器65を備えて構成される。
 データバッファ61には、入力データバッファ41を介して入力画素値zとなる画素データが供給され、データバッファ61は、フィルタサイズに従ったサイズの配列の入力画素値zを逐次的に記憶し、適宜、乗算器64に入力画素値zを供給する。図示する例では、3×3配列の9個の入力画素値zがデータバッファ61に記憶されている。
 シフトレジスタ62は、データバッファ61に記憶された1行目および2行目の入力画素値zが入力され、制御部28による制御に従ったシフト値で入力画素値zをシフトして、それぞれデータバッファ61の2行目および3行目に出力する。なお、図示するシフトレジスタ62の構成は例示であって、1行目および2行目の入力画素値zが入力される以外の構成であってもよい。
 フィルタバッファ63には、入力データバッファ41を介してフィルタ係数hとなる重みデータが供給され、フィルタバッファ63は、フィルタサイズに従ったサイズの配列のフィルタ係数hを逐次的に記憶し、適宜、乗算器64にフィルタ係数hを供給する。図示する例では、3×3配列の9個のフィルタ係数hがフィルタバッファ63に記憶されている。
 乗算器64は、データバッファ61から供給される3×3配列の入力画素値zと、フィルタバッファ63から供給される3×3配列のフィルタ係数hとを乗算する演算を行い、その演算の結果として得られる乗算値を加算器65に供給する。
 加算器65は、乗算器64から供給される3×3配列分の乗算値を加算する演算を行うことによって積和演算結果を取得して、図4の加算器52に供給する。
 また、図6に示すように、乗算器64および加算器65は、入力画素値zとフィルタ係数hとを並べ替えて、並列積和演算(ベクトル演算)を行ってもよい。
 <畳み込み層の演算>
 図7乃至図10を参照して、エンコード部25において実行される畳み込み演算について説明する。
 図7には、畳み込み演算で用いられる演算式の一例が示されている。
 図示するように、畳み込み値uijmは、入力画素値zi+p,j+q,k (l-1)とフィルタ係数hpqkmとを積和演算して積和演算結果を取得し、入力画像のチャネル数K分の積和演算結果およびバイアス値bijmを加算することによって求められる。そして、畳み込み層出力画素値zijm (l)は、畳み込み値uijmを活性化演算子f(・)に入力して行われる活性化演算によって求められる。
 図8を参照して、入力画像の画像サイズが縦W×横Wであって、チャネル数Kの入力画像がエンコード部25の演算器54-1乃至54-Kそれぞれに入力され、3つのフィルタ(フィルタ数M=3)を用いて行われる畳み込み演算処理について説明する。なお、入力画像の画像サイズは、縦および横が同一のサイズである必要はない。
 第1のフィルタ(m=0)では、それぞれの演算器54の乗算器64(図5)が、H×H配列の入力画素値zi+p,j+q,k (l-1)と、H×H配列のフィルタ係数hpqk0とを乗算する演算を行う。この一点鎖線で囲われた領域における演算は、図7の演算式において一点鎖線で囲われた領域の演算に対応する。
 そして、第1のフィルタ(m=0)では、それぞれの演算器54の加算器65(図5)が、乗算器64による演算の結果として得られるH×H配列の乗算値を加算する演算を行うことによって積和演算結果を取得して加算器52(図4)に供給する。加算器52は、チャネル数K分の積和演算結果およびバイアス値bij0を加算する演算を行って畳み込み値uij0を取得し、乗算器53が、畳み込み値uij0を活性化演算子f(・)に入力して活性化演算を行うことによって畳み込み層出力画素値zij0 (l)を取得する。この破線で囲われた領域における演算は、図7の演算式において破線で囲われた領域の演算に対応する。
 また、第1のフィルタ(m=0)と同様に、第2のフィルタ(m=1)および第3のフィルタ(m=2)においても、畳み込み層出力画素値zij1 (l)および畳み込み層出力画素値zij2 (l)を取得することができる。
 このように、畳み込み演算は、フィルタごとに、一点鎖線で囲われた部分に対応する第1の演算処理である積和演算と、破線で囲われた部分に対応する第2の演算処理である和演算および活性化演算とに分解することができる。
 図9を参照して、第1の演算処理について説明し、図10を参照して、第2の演算処理について説明する。また、図9および図10には、赤色Rの画像、緑色Gの画像、および青色Bの画像が用いられ、チャネル数Kが3である場合の処理例が示されている。
 図9に示すように、例えば、赤色Rの画像の入力画素値が、記憶部23から入力データバッファ41を介して、演算器54-k(例えば、k=0)のシフトレジスタ62に格納される。そして、シフトレジスタ62からフィルタ演算の対象となる対象画素の3×3配列分の入力画素値(例えば、R00,R01,R02,R10,R11,R12,R20,R21,R22)がデータバッファ61に格納される。また、フィルタバッファ63には、3×3配列分のフィルタ係数(例えば、h00,h01,h02,h10,h11,h12,h20,h21,h22)が格納される。そして、乗算器64によって、データバッファ61に格納されている入力画素値とフィルタバッファ63に格納されているフィルタ係数とが乗算され、その乗算結果が、加算器65によって加算されることにより取得された積和演算結果が出力される。
 同様に、緑色Gの画像が演算器54-k(例えば、k=1)に入力され、青色Bの画像が演算器54-k(例えば、k=2)に入力され、それぞれ積和演算結果が出力される。
 このように、第1の演算処理として、対象画素に対してフィルタ演算を行う積和演算が行われる。
 図10に示すように、チャネル数に応じて並列的に第1の演算処理が行われることで出力される積和演算結果(k=0)、積和演算結果(k=1)、および積和演算結果(k=2)が、加算器52によって加算される。さらに、加算器52によってバイアス値bが加算されることで畳み込み値uが取得され、乗算器53によって、畳み込み値uを活性化演算子f(・)に入力して活性化演算が行われる。これにより、畳み込み層出力画素値z(l)が出力される。
 このように、第2の演算処理として、チャネルごとに行われた第1の演算処理の処理結果を加算する和演算、および、活性化演算子f(・)に従った活性化演算が行われる。また、フィルタ数に応じて並列的に第2の演算処理が行われる。
 <入力画像の転送方法>
 図11を参照して、入力画像の転送方法について説明する。
 例えば、撮像素子11では、撮像部21において1ラインごとに撮像することで得られる入力画像の画素データが記憶部23に供給され、ラインメモリ31を介してフレームメモリ32に記憶される。そして、DMA処理部24によるメモリアクセスに従って、フレームメモリ32から入力データバッファ41に入力画像の画素データが転送される。
 図11のAは、フィルタ係数の個数に応じた入力画像の画素データを転送する第1の転送方法(シフトレジスタ62は使用しない転送方法)を説明する図である。
 図11のAには、3×3配列のフィルタサイズが用いられてフィルタ係数の個数である9個の画素データが転送され、スライド数が1画素である場合の例が示されている。例えば、一点鎖線で囲われた9個の画素データがフレームメモリ32から入力データバッファ41に転送される。そして、それらの9個の画素データに対する畳み込み演算処理が完了すると、スライド数である1画素分だけシフトして、二点鎖線で囲われた9個の画素データがフレームメモリ32から入力データバッファ41に転送される。
 図11のBは、入力画像を複数のタイルに分割し、それらのタイルごとに画素データを転送する第2の転送方法を説明する図である。
 図11のBには、入力画像を4つのタイルに分割した場合の例が示されている。例えば、破線で囲われている画素データが1つのタイルとされ、そのタイルの画素データがフレームメモリ32から入力データバッファ41に転送される。そして、そのタイルの画素データに対する畳み込み演算処理が完了すると、次のタイルを処理対象として、次のタイルの画素データがフレームメモリ32から入力データバッファ41に転送される。
 図11のCは、入力画像の全ての画素データを転送する第3の転送方法を説明する図である。
 図11のCにおいて破線で囲われている入力画像の全ての画素データが、フレームメモリ32から入力データバッファ41に転送される。
 <畳み込み演算処理の処理例>
 図12は、エンコード部25において実行される畳み込み演算処理の第1の処理例について説明するフローチャートである。第1の処理例では、図11のAを参照して説明したように、フィルタ係数の個数に応じて入力画像の画素データを転送する第1の転送方法が用いられる。
 ステップS11において、DMA処理部24によるメモリアクセスに従って、フィルタ係数の個数に応じた入力画像の画素データが、記憶部23のフレームメモリ32から畳み込み演算処理部42の入力データバッファ41に転送される。
 ステップS12において、畳み込み演算処理部42では、フィルタ数Mに応じた個数の演算器44-1乃至44-Mが、ステップS11で入力データバッファ41に転送された個数の入力画像の画素データに対する畳み込み演算処理を行う。
 ステップS13において、演算器44-1乃至44-Mそれぞれの積和演算処理部51では、チャネル数Kに応じた個数の演算器54-1乃至54-Kが、ステップS11で入力データバッファ41に転送された個数の入力画像の画素データとフィルタ係数との積和演算処理を行う。なお、ステップS13の積和演算処理は、ステップS12の畳み込み演算処理の一部として行うことができる。
 ステップS14において、畳み込み演算処理部42は、ステップS11で入力データバッファ41に転送された入力画像分の畳み込み演算処理が完了したか否かを判定する。
 ステップS14において、入力画像分の畳み込み演算処理が完了していないと判定された場合、処理はステップS15に進む。
 ステップS15において、DMA処理部24は、記憶部23のフレームメモリ32から畳み込み演算処理部42の入力データバッファ41へ転送する画素データを、スライド数に応じてシフトする。その後、処理はステップS11に戻り、そのシフトに従って次の画素データが転送され、以下、同様の処理が繰り返して行われる。
 一方、ステップS14において、入力画像分の畳み込み演算処理が完了したと判定された場合、畳み込み演算処理は終了される。
 図13は、エンコード部25において実行される畳み込み演算処理の第2の処理例について説明するフローチャートである。第2の処理例では、図11のBを参照して説明したように、タイルごとに画素データを転送する第2の転送方法が用いられる。
 ステップS21において、DMA処理部24によるメモリアクセスに従って、1つのタイル分の入力画像の画素データが、記憶部23のフレームメモリ32から畳み込み演算処理部42の入力データバッファ41に転送される。
 ステップS22において、畳み込み演算処理部42では、フィルタ数Mに応じた個数の演算器44-1乃至44-Mが、ステップS21で入力データバッファ41に転送された1つのタイル分の入力画像の画素データに対する畳み込み演算処理を行う。
 ステップS23において、演算器44-1乃至44-Mそれぞれの積和演算処理部51では、チャネル数Kに応じた個数の演算器54-1乃至54-Kが、ステップS21で入力データバッファ41に転送された1つのタイル分の入力画像の画素データとフィルタ係数との積和演算処理を行う。このとき、図5を参照して説明したように、演算器54では、データバッファ61に記憶されるフィルタサイズに従ったサイズの画素データが積和演算処理の対象とされ、残りの画素データは、シフトレジスタ62に保持される。なお、ステップS23の積和演算処理は、ステップS22の畳み込み演算処理の一部として行うことができる。
 ステップS24において、演算器54は、ステップS11で入力データバッファ41に転送された入力画像分の畳み込み演算処理が完了したか否かを判定する。
 ステップS24において、入力画像分の畳み込み演算処理が完了していないと判定された場合、ステップS25に進む。ステップS25において、演算器54は、シフトレジスタ62に保持されている画素データを、制御部28による制御に従ったシフト値に応じてスライドさせ、そのスライド後にデータバッファ61に記憶された画素データを積和演算処理の対象とする。そして、処理はステップS23に戻り、積和演算処理が継続して行われる。
 一方、ステップS24において、入力画像分の畳み込み演算処理が完了したと判定された場合、ステップS26に進む。ステップS26において、畳み込み演算処理部42は、全てのタイルに対する畳み込み演算処理が終了してタイリングが完成したか否かを判定する。
 ステップS26において、タイリングが完了していないと判定された場合、処理はステップS27に進む。ステップS27において、DMA処理部24は、記憶部23のフレームメモリ32から畳み込み演算処理部42の入力データバッファ41へ転送する画素データについて、次のタイルを処理対象とする。その後、処理はステップS11に戻り、次のタイルの画素データが転送され、以下、同様の処理が繰り返して行われる。
 一方、ステップS26において、タイリングが完了したと判定された場合、畳み込み演算処理は終了される。
 なお、図13を参照して説明した畳み込み演算処理を、図11のCを参照して説明したような入力画像の全ての画素データを転送する第3の転送方法に適用してもよく、この場合、ステップS26およびS27の処理を省略して、ステップS24の処理で入力画像分の畳み込み演算処理が完了したと判定されると畳み込み演算処理が終了される。
 <積層型の撮像素子の構成例>
 図14は、積層型の撮像素子11の構成例について説明する図である。
 図14のAに示す積層型の撮像素子11Aは、複数の画素がセンサ面に行列状に配置される撮像部21が設けられたセンサ基板71と、エンコード部25などが設けられたロジック基板72とが積層された積層構造となっている。
 図14のBに示す積層型の撮像素子11Bは、積層型の撮像素子11Aと同様にセンサ基板71およびロジック基板72が積層されるのに加えて、記憶部23などが設けられたメモリ基板73が積層された積層構造となっている。
 例えば、積層型の撮像素子11Aおよび積層型の撮像素子11Bでは、それぞれの基板の間における電気的および機械的な接続に、TSV(through-silicon via)を利用した構造や、Cu-Cu接合を利用した構造などを採用することができる。
 <電子機器の構成例>
 上述したような撮像素子11は、例えば、デジタルスチルカメラやデジタルビデオカメラなどの撮像システム、撮像機能を備えた携帯電話機、または、撮像機能を備えた他の機器といった各種の電子機器に適用することができる。
 図15は、電子機器に搭載される撮像装置の構成例を示すブロック図である。
 図15に示すように、撮像装置101は、光学系102、撮像素子103、信号処理回路104、モニタ105、およびメモリ106を備えて構成され、静止画像および動画像を撮像可能である。
 光学系102は、1枚または複数枚のレンズを有して構成され、被写体からの像光(入射光)を撮像素子103に導き、撮像素子103の受光面(センサ部)に結像させる。
 撮像素子103としては、上述した撮像素子11が適用される。撮像素子103には、光学系102を介して受光面に結像される像に応じて、一定期間、電子が蓄積される。そして、撮像素子103に蓄積された電子に応じた信号が信号処理回路104に供給される。
 信号処理回路104は、撮像素子103から出力された画素信号に対して各種の信号処理を施す。信号処理回路104が信号処理を施すことにより得られた画像(画像データ)は、モニタ105に供給されて表示されたり、メモリ106に供給されて記憶(記録)されたりする。
 このように構成されている撮像装置101では、上述した撮像素子11を適用することで、例えば、より高速に画像を撮像することができる。
 <イメージセンサの使用例>
 図16は、上述のイメージセンサ(撮像素子)を使用する使用例を示す図である。
 上述したイメージセンサは、例えば、以下のように、可視光や、赤外光、紫外光、X線等の光をセンシングする様々なケースに使用することができる。
 ・ディジタルカメラや、カメラ機能付きの携帯機器等の、鑑賞の用に供される画像を撮影する装置
 ・自動停止等の安全運転や、運転者の状態の認識等のために、自動車の前方や後方、周囲、車内等を撮影する車載用センサ、走行車両や道路を監視する監視カメラ、車両間等の測距を行う測距センサ等の、交通の用に供される装置
 ・ユーザのジェスチャを撮影して、そのジェスチャに従った機器操作を行うために、TVや、冷蔵庫、エアーコンディショナ等の家電に供される装置
 ・内視鏡や、赤外光の受光による血管撮影を行う装置等の、医療やヘルスケアの用に供される装置
 ・防犯用途の監視カメラや、人物認証用途のカメラ等の、セキュリティの用に供される装置
 ・肌を撮影する肌測定器や、頭皮を撮影するマイクロスコープ等の、美容の用に供される装置
 ・スポーツ用途等向けのアクションカメラやウェアラブルカメラ等の、スポーツの用に供される装置
 ・畑や作物の状態を監視するためのカメラ等の、農業の用に供される装置
 <構成の組み合わせ例>
 なお、本技術は以下のような構成も取ることができる。
(1)
 チャネル数に応じた個数の第1の演算器を有し、それぞれの前記第1の演算器において入力画像の画素データである入力画素値とフィルタ係数との積和演算処理を行うことによって前記チャネル数分の積和演算結果を取得する積和演算処理部と、
 フィルタ数に応じた個数の第2の演算器を有し、それぞれの前記第2の演算器において前記積和演算結果を用いた畳み込み演算処理を行うことによって前記フィルタ数分の畳み込み層出力画素値を取得して、エンコード済みの画素データとして出力する畳み込み演算処理を行う畳み込み演算処理部と
 を備える信号処理装置。
(2)
 前記第2の演算器それぞれが、前記積和演算処理部を有して構成される
 上記(1)に記載の信号処理装置。
(3)
 前記第1の演算器は、
  フィルタサイズに従ったサイズの前記入力画素値を逐次的に記憶するデータバッファと、
  前記フィルタサイズに従ったサイズの前記フィルタ係数を逐次的に記憶するフィルタバッファと、
  前記データバッファに記憶されている前記入力画素値と前記フィルタバッファに記憶されている前記フィルタ係数とを乗算することによって前記フィルタサイズに応じた所定数の乗算値を求める第1の乗算器と、
  前記第1の乗算器により求められた所定数の前記乗算値を加算することで前記積和演算結果を求める第1の加算器
 を有する
 上記(1)または(2)に記載の信号処理装置。
(4)
 前記第2の演算器は、
  前記積和演算処理部から出力される前記チャネル数分の前記積和演算結果それぞれを加算し、所定のバイアス値を加算することによって畳み込み値を求める第2の加算器と、  前記畳み込み値を、所定の活性化演算子に入力して前記積和演算結果を求める第2の乗算器と
 をさらに有する
 上記(1)から(3)までのいずれかに記載の信号処理装置。
(5)
 前記畳み込み演算処理部に入力される前記入力画素値を一時的に記憶する入力バッファをさらに備え、
 前記入力画像を記憶する記憶部から前記入力バッファへ、前記フィルタ係数の個数に応じた前記入力画素値が転送される
 上記(1)から(4)までのいずれかに記載の信号処理装置。
(6)
 前記畳み込み演算処理部に入力される前記入力画素値を一時的に記憶する入力バッファをさらに備え、
 前記入力画像を記憶する記憶部から前記入力バッファへ、前記入力画像を複数のタイルに分割した前記タイルごとに前記入力画素値が転送される
 上記(1)から(4)までのいずれかに記載の信号処理装置。
(7)
 チャネル数に応じた個数の第1の演算器を有する積和演算処理部と、フィルタ数に応じた個数の第2の演算器を有する畳み込み演算処理部とを備える信号処理装置が、
 それぞれの前記第1の演算器において入力画像の画素データである入力画素値とフィルタ係数との積和演算処理を行うことによって前記チャネル数分の積和演算結果を取得することと、
 それぞれの前記第2の演算器において前記積和演算結果を用いた畳み込み演算処理を行うことによって前記フィルタ数分の畳み込み層出力画素値を取得して、エンコード済みの画素データとして出力する畳み込み演算処理を行うことと
 を含む信号処理方法。
(8)
 チャネル数に応じた個数の第1の演算器を有し、それぞれの前記第1の演算器において入力画像の画素データである入力画素値とフィルタ係数との積和演算処理を行うことによって前記チャネル数分の積和演算結果を取得する積和演算処理部と、
 フィルタ数に応じた個数の第2の演算器を有し、それぞれの前記第2の演算器において前記積和演算結果を用いた畳み込み演算処理を行うことによって前記フィルタ数分の畳み込み層出力画素値を取得して、エンコード済みの画素データとして出力する畳み込み演算処理を行う畳み込み演算処理部と
 を有する信号処理部を備える固体撮像素子。
(9)
 複数の画素がセンサ面に行列状に配置される撮像部が設けられたセンサ基板と、前記信号処理部が設けられたロジック基板とが積層された積層構造である
 上記(8)に記載の固体撮像素子。
(10)
 前記撮像部から出力される画素信号に基づいた画素データを記憶する記憶部が設けられたメモリ基板がさらに積層された積層構造である
 上記(9)に記載の固体撮像素子。
 なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 11 撮像素子, 21 撮像部, 22 撮像処理部, 23 記憶部, 24 DMA処理部, 25 エンコード部, 26 送信部, 27 受信部, 28 制御部, 31 ラインメモリ, 32 フレームメモリ, 33 ネットワークデータメモリ, 41 入力データバッファ, 42 畳み込み演算処理部, 43 出力データバッファ, 44 演算器, 51 積和演算処理部, 52 加算器, 53 乗算器, 54 演算器, 61 データバッファ, 62 シフトレジスタ, 63 フィルタバッファ, 64 乗算器, 65 加算器, 71 センサ基板, 72 ロジック基板, 73 メモリ基板

Claims (10)

  1.  チャネル数に応じた個数の第1の演算器を有し、それぞれの前記第1の演算器において入力画像の画素データである入力画素値とフィルタ係数との積和演算処理を行うことによって前記チャネル数分の積和演算結果を取得する積和演算処理部と、
     フィルタ数に応じた個数の第2の演算器を有し、それぞれの前記第2の演算器において前記積和演算結果を用いた畳み込み演算処理を行うことによって前記フィルタ数分の畳み込み層出力画素値を取得して、エンコード済みの画素データとして出力する畳み込み演算処理を行う畳み込み演算処理部と
     を備える信号処理装置。
  2.  前記第2の演算器それぞれが、前記積和演算処理部を有して構成される
     請求項1に記載の信号処理装置。
  3.  前記第1の演算器は、
      フィルタサイズに従ったサイズの前記入力画素値を逐次的に記憶するデータバッファと、
      前記フィルタサイズに従ったサイズの前記フィルタ係数を逐次的に記憶するフィルタバッファと、
      前記データバッファに記憶されている前記入力画素値と前記フィルタバッファに記憶されている前記フィルタ係数とを乗算することによって前記フィルタサイズに応じた所定数の乗算値を求める第1の乗算器と、
      前記第1の乗算器により求められた所定数の前記乗算値を加算することで前記積和演算結果を求める第1の加算器
     を有する
     請求項1に記載の信号処理装置。
  4.  前記第2の演算器は、
      前記積和演算処理部から出力される前記チャネル数分の前記積和演算結果それぞれを加算し、所定のバイアス値を加算することによって畳み込み値を求める第2の加算器と、  前記畳み込み値を、所定の活性化演算子に入力して前記積和演算結果を求める第2の乗算器と
     をさらに有する
     請求項1に記載の信号処理装置。
  5.  前記畳み込み演算処理部に入力される前記入力画素値を一時的に記憶する入力バッファをさらに備え、
     前記入力画像を記憶する記憶部から前記入力バッファへ、前記フィルタ係数の個数に応じた前記入力画素値が転送される
     請求項1に記載の信号処理装置。
  6.  前記畳み込み演算処理部に入力される前記入力画素値を一時的に記憶する入力バッファをさらに備え、
     前記入力画像を記憶する記憶部から前記入力バッファへ、前記入力画像を複数のタイルに分割した前記タイルごとに前記入力画素値が転送される
     請求項1に記載の信号処理装置。
  7.  チャネル数に応じた個数の第1の演算器を有する積和演算処理部と、フィルタ数に応じた個数の第2の演算器を有する畳み込み演算処理部とを備える信号処理装置が、
     それぞれの前記第1の演算器において入力画像の画素データである入力画素値とフィルタ係数との積和演算処理を行うことによって前記チャネル数分の積和演算結果を取得することと、
     それぞれの前記第2の演算器において前記積和演算結果を用いた畳み込み演算処理を行うことによって前記フィルタ数分の畳み込み層出力画素値を取得して、エンコード済みの画素データとして出力する畳み込み演算処理を行うことと
     を含む信号処理方法。
  8.  チャネル数に応じた個数の第1の演算器を有し、それぞれの前記第1の演算器において入力画像の画素データである入力画素値とフィルタ係数との積和演算処理を行うことによって前記チャネル数分の積和演算結果を取得する積和演算処理部と、
     フィルタ数に応じた個数の第2の演算器を有し、それぞれの前記第2の演算器において前記積和演算結果を用いた畳み込み演算処理を行うことによって前記フィルタ数分の畳み込み層出力画素値を取得して、エンコード済みの画素データとして出力する畳み込み演算処理を行う畳み込み演算処理部と
     を有する信号処理部を備える固体撮像素子。
  9.  複数の画素がセンサ面に行列状に配置される撮像部が設けられたセンサ基板と、前記信号処理部が設けられたロジック基板とが積層された積層構造である
     請求項8に記載の固体撮像素子。
  10.  前記撮像部から出力される画素信号に基づいた画素データを記憶する記憶部が設けられたメモリ基板がさらに積層された積層構造である
     請求項9に記載の固体撮像素子。
PCT/JP2022/042321 2021-11-29 2022-11-15 信号処理装置および信号処理方法、並びに固体撮像素子 WO2023095666A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021193434 2021-11-29
JP2021-193434 2021-11-29

Publications (1)

Publication Number Publication Date
WO2023095666A1 true WO2023095666A1 (ja) 2023-06-01

Family

ID=86539629

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/042321 WO2023095666A1 (ja) 2021-11-29 2022-11-15 信号処理装置および信号処理方法、並びに固体撮像素子

Country Status (1)

Country Link
WO (1) WO2023095666A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017079017A (ja) * 2015-10-21 2017-04-27 キヤノン株式会社 畳み込み演算装置
JP2020047191A (ja) * 2018-09-21 2020-03-26 ソニーセミコンダクタソリューションズ株式会社 固体撮像システム、固体撮像装置、情報処理装置、画像処理方法及びプログラム
WO2020235363A1 (ja) * 2019-05-22 2020-11-26 ソニーセミコンダクタソリューションズ株式会社 受光デバイス、固体撮像装置、電子機器及び情報処理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017079017A (ja) * 2015-10-21 2017-04-27 キヤノン株式会社 畳み込み演算装置
JP2020047191A (ja) * 2018-09-21 2020-03-26 ソニーセミコンダクタソリューションズ株式会社 固体撮像システム、固体撮像装置、情報処理装置、画像処理方法及びプログラム
WO2020235363A1 (ja) * 2019-05-22 2020-11-26 ソニーセミコンダクタソリューションズ株式会社 受光デバイス、固体撮像装置、電子機器及び情報処理システム

Similar Documents

Publication Publication Date Title
US10582151B2 (en) Camera system, video processing apparatus, and camera apparatus
US10535687B2 (en) Solid-state imaging device and electronic apparatus
CN111201780A (zh) 成像装置和方法以及图像处理装置和方法
JP2009027488A (ja) 撮像回路および撮像装置
JP2019161577A (ja) 撮像装置、画素補正処理回路、及び、画素補正処理方法
JP6014349B2 (ja) 撮像装置、制御方法、及びプログラム
WO2023095666A1 (ja) 信号処理装置および信号処理方法、並びに固体撮像素子
CN104349146A (zh) 固态成像装置、其驱动方法以及电子设备
WO2014091706A1 (ja) 撮像装置
JP2004193911A (ja) 画像処理装置および画像処理方法、デジタルスチルカメラ
JP4286124B2 (ja) 画像信号処理装置
WO2007119430A1 (ja) 画像処理システム
JP5912586B2 (ja) 画像信号処理方法及び画像信号処理回路、並びに撮像装置
JP2006262382A (ja) 画像処理装置
JP7022544B2 (ja) 画像処理装置及び方法、及び撮像装置
JP2012253490A (ja) 固体撮像装置、撮像装置及び画像生成方法
JP2017175500A (ja) カラー画像撮像方法、カラー画像補間処理方法および撮像装置
Kumar et al. A New Approach of Improving CFA Image for Digital Camera's
JP2006180108A (ja) デジタルカメラ
JP2013251680A (ja) 画像処理装置及び画像処理方法
JPH10191365A (ja) 電子スチルカメラ
JPH09261498A (ja) 撮像装置
JP2006041799A (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: 22898450

Country of ref document: EP

Kind code of ref document: A1