WO2019239978A1 - 画像処理装置及び撮像装置 - Google Patents

画像処理装置及び撮像装置 Download PDF

Info

Publication number
WO2019239978A1
WO2019239978A1 PCT/JP2019/022290 JP2019022290W WO2019239978A1 WO 2019239978 A1 WO2019239978 A1 WO 2019239978A1 JP 2019022290 W JP2019022290 W JP 2019022290W WO 2019239978 A1 WO2019239978 A1 WO 2019239978A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
image processing
unit
conversion
bit
Prior art date
Application number
PCT/JP2019/022290
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 US16/973,792 priority Critical patent/US12081919B2/en
Priority to CN201980038747.7A priority patent/CN112262571B/zh
Publication of WO2019239978A1 publication Critical patent/WO2019239978A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/43Conversion of monochrome picture signals to colour picture signals for colour picture display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4015Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/10Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
    • H04N23/12Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths with one sensor only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • H04N23/843Demosaicing, e.g. interpolating colour pixel values
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • H04N23/85Camera processing pipelines; Components thereof for processing colour signals for matrixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/67Circuits for processing colour signals for matrixing

Definitions

  • the present invention relates to an image processing device and an imaging device.
  • the image processing device generates image processing data by performing image processing on Bayer data transmitted from the imaging device.
  • image processing for example, (1) conversion from Bayer data to RGB data, (2) conversion from RGB data to grayscale data, and (3) conversion from grayscale data to image processing data, etc. Processing is performed.
  • a RAW data compression processing unit includes a data partitioning unit that partitions input data including a plurality of types of information data formed by multiple bits into a plurality of groups for each type of information data, and data Based on the maximum value extraction unit that extracts the maximum value of information data in each group divided by the classification unit and the maximum value extracted by the maximum value extraction unit, reduction of common bits in the same kind of information data in the group
  • a data processing apparatus having a bit reduction position determination unit that determines a position and reduces common bits in response to the determination is disclosed. As a result, it is possible to suppress deterioration in image quality while suppressing an increase in processing time and circuit scale.
  • the present invention has been made in view of the above-described problems in the prior art, and aims to speed up image processing.
  • An image processing apparatus includes a preprocessing unit and a main processing unit provided at a subsequent stage of the preprocessing unit.
  • the preprocessing unit generates preprocessing data obtained by preprocessing the Bayer data output from the imaging apparatus, and outputs the generated preprocessing data to the main processing unit.
  • the main processing unit performs image processing based on the preprocessing data.
  • FIG. 1 It is a figure which shows an example of a structure of the image processing apparatus which concerns on Embodiment 1 of this invention. It is a figure which shows the detail of a structure of a pre-processing part. It is a figure which shows the example of the selection bit in a bit selection part. It is a figure which shows the specific example of a structure of a conversion table. It is a figure which shows an example of a RGB-density conversion setting screen. It is a figure which shows the example of data arrangement
  • sequence conversion. 4 is a diagram for explaining an operation example of a data superimposing unit 20. It is a figure which shows an example of a structure of the image processing apparatus which concerns on Embodiment 2 of this invention.
  • FIG. 1 is a diagram showing an example of the configuration of an image processing apparatus according to Embodiment 1 of the present invention.
  • the image processing apparatus 1 includes a preprocessing unit 10, a data superimposing unit 20, and a main processing unit 30. 1 also shows an imaging device (camera) 91, a camera I / F 93, and a storage 95.
  • the camera I / F 93 has an input end connected to the imaging device 91 and an output end connected to the input end of the preprocessing unit 10 and the first input end of the data superimposing unit 20.
  • the camera I / F 93 inputs Bayer data output from the imaging device 91 and outputs the Bayer data to the preprocessing unit 10 and the data superimposing unit 20.
  • the imaging device 91 outputs, for example, 8-bit Bayer data.
  • each functional block excluding the imaging device 91 is mounted on the same image processing board.
  • FIG. 2 is a diagram illustrating details of the configuration of the preprocessing unit.
  • the preprocessing unit 10 is a functional block that performs preprocessing of Bayer data. As shown in FIG. 2, the preprocessing unit 10 includes an RGB data conversion unit 11, an RGB-density conversion unit 13, a data array conversion unit 15, and a multiplexer 17.
  • the preprocessing unit 10 is configured by, for example, an FPGA (field-programmable gate array).
  • the preprocessing unit 10 may be configured by an FPGA on the same substrate together with the camera I / F 93 and a data superimposing unit 20 described later.
  • RGB Data Conversion Unit 11 The input end of the RGB data conversion unit 11 is connected to the output end of the camera I / F 93.
  • the output terminal of the RBG data converter 11 is connected to the input terminal of the RGB-density converter 13 and the first input terminal of the multiplexer 17.
  • the RGB data conversion unit 11 is a functional block that converts Bayer data into RGB data. For example, the RGB data conversion unit 11 converts Bayer data into RGB data of 24 bits (3 colors ⁇ 8 bits).
  • the RGB data converter 11 outputs the RGB data (DATA1) to the RGB-density converter 13 and the multiplexer 17.
  • the RGB-density conversion unit 13 performs processing for converting RGB data into grayscale data.
  • the output terminal of the RGB-density converter 13 is connected to the second input terminal of the multiplexer 17 and the second input terminal of the data array converter 15.
  • the RGB-density conversion unit 13 is a functional block that converts the RGB data into grayscale data by adjusting the density of each RGB color, and outputs the generated grayscale data (DATA2) to the multiplexer 17.
  • the RGB-density conversion unit 13 includes a bit selection unit 13a and a conversion table (LUT) 13b.
  • the input end of the bit selection unit 13 a is connected to the output end of the RGB data conversion unit 11.
  • the output end of the bit selection unit 13a is connected to the input end of the conversion table 13b.
  • the output end of the conversion table 13 b is connected to the input end of the data array conversion unit 15 and the second input end of the multiplexer 17.
  • the bit selection unit 13a is a functional block that generates selected bit data in which a predetermined number of bits are selected from RGB data.
  • the bit selection unit 13a generates selection bit data in which the ratio of each color is changed according to the color of the subject. For example, the bit selection unit 13a selects 18 bits as valid bits from 24-bit RGB data, and generates selected bit data from the selected valid bits.
  • the bit selection unit 13a increases the number of red (R) bits and decreases the number of other green (G) and blue (G) bits.
  • the bits may be selected so that the total number of bits is a predetermined number (for example, 18 bits). The same applies to cases where other colors are strong.
  • FIG. 3 is a diagram illustrating an example of selection bits in the bit selection unit. Three examples are shown in FIG. 1 and 2 in FIG. 3 show examples in which the number of bits of each color is 6 bits and the same number.
  • the upper 6 bits of each color, R [7: 2], G [7: 2], and B [7: 2] are selected. In this example, strong portions of each color are selected.
  • the lower 6 bits of each color, R [5: 0], G [5: 0], and B [5: 0] are selected. In this example, the portion where the color of each color is suppressed is selected.
  • red (R) is all 8 bits R [7: 0], green (G) and blue (B) upper 5 bits G [7: 3], B [7: 3] Is selected.
  • each color bit is selected so that redness is emphasized. In this way, the number of data bits in the subsequent processing is reduced, and the amount of data to be processed is reduced.
  • the conversion table 13b converts the selected bit data generated by the bit selection unit 13a into grayscale data having a bit number smaller than a predetermined number. For example, the conversion table 13b converts 18-bit selection bit data into 8-bit grayscale data.
  • the conversion table 13b is composed of, for example, a DPRAM (Dual Ported RAM) which is a kind of SRAM (Static Random Access Memory).
  • the DPRAM stores an LUT (Look up table).
  • the LUT is a table for converting the address of the selected bit selected by the bit selection unit 13a into predetermined data (grayscale data).
  • FIG. 4 is a diagram showing a specific example of the configuration of the conversion table.
  • FIG. 4A is a diagram showing a specific example of input / output of the DPRAM.
  • FIG. 4B is a diagram illustrating a specific example of the LUT.
  • FIG. 4C is a diagram comparing the pre-conversion data and the post-conversion data when the conversion data is different.
  • Port A and Port B are provided on the input side of the DPRAM.
  • Port A is connected to, for example, a CPU bus of a main processing unit described later, and is used for setting conversion data constituting the LUT.
  • Port B is connected to the bit selection unit 13a and used for inputting selected bit data.
  • Dout A and Dout B are provided on the output side of the DPRAM. Among these, DoutB outputs grayscale data converted by the LUT.
  • the LUT is a table in which addresses of each bit of RGB data are associated with predetermined conversion data set for each address. That is, if the RGB data is 24 bits, 24 types of conversion data are set for each bit in the LUT.
  • the respective addresses have predetermined conversion data “0x01”, “0x03”, Converted to “0xFC”.
  • the conversion data can be arbitrarily set from the CPU.
  • the converted data differs depending on the converted data, but the number of bits of the converted data is the same (for example, 8 bits).
  • FIG. 5 is a diagram showing an example of the RGB-density conversion setting screen.
  • This RGB-density conversion setting screen is displayed on, for example, an external monitor (not shown) connected to a video output I / F of a main processing unit described later.
  • the RGB-density conversion setting screen displays, for example, a pre-conversion image data display area, a post-conversion image data display area, an RGB effective bit setting area, a conversion table setting area, and the like.
  • RGB valid bit setting area a bit selection screen for each color for selecting valid 18 bits from 24 bits is displayed.
  • pre-conversion image data display area 24-bit image data before RGB-density conversion is displayed. That is, image data for simulating RGB-density conversion is displayed in the pre-conversion image data display area. Since the image data displayed here is based on RGB data, it is a color display. Note that image data can be selected with a reference button.
  • 8-bit image data after RGB-density conversion is displayed in the converted image data display area. That is, the converted image data display area displays image data after RGB-density conversion simulation based on the bits selected in the RGB effective bit setting area.
  • the image data displayed here is a gray scale display. Note that RGB-density conversion is executed by the update button.
  • a bit selection screen for each color for selecting valid 18 bits from 24 bits is displayed.
  • the color distribution of the pre-conversion image data for example, 24 bits
  • the optimum effective bit is selected based on the analysis result.
  • a conversion table for RGB-density conversion is set. For example, when “Preset 1 to 3” is selected, a preset conversion table is selected, and RGB-density conversion based on the selected conversion table is executed. On the other hand, when “user set” is selected by the user set button, a user-specific conversion table setting screen is displayed, and RGB-density conversion based on the conversion table set by the user is executed.
  • a save button and a cancel button are provided at the top of the RGB-density conversion setting screen.
  • the save button is pressed, valid bits and conversion table settings are saved.
  • the screen may be changed to a higher screen. These settings are not saved when the Cancel button is pressed. Further, after the cancellation process is completed, the screen may be changed to a higher screen.
  • the first input terminal of the data array conversion unit 15 is connected to the output terminal of the camera I / F 93.
  • the second input end of the data array conversion unit 15 is connected to the output end of the conversion table 13b.
  • the output end of the data array conversion unit 15 is connected to the third input end of the multiplexer 17.
  • the data array conversion unit 15 is a functional block that converts the data array of grayscale data or Bayer data to generate array conversion data.
  • the data array conversion unit 15 converts two-dimensional array grayscale data into one-dimensional array conversion data.
  • the data array conversion unit 15 may convert the Bayer data of the two-dimensional array into the array conversion data of the one-dimensional array.
  • the data array conversion unit 15 only converts a data array such as grayscale data, and the number of data bits does not change before and after the data array conversion. That is, for example, 8-bit grayscale data or Bayer data before conversion becomes 8-bit array conversion data after the change.
  • the data array conversion unit 15 outputs the converted array data (DATA3) of the converted one-dimensional array to the multiplexer 17.
  • FIG. 6 is a diagram showing an example of data array conversion.
  • FIG. 6 shows examples of “3 ⁇ 3 convolution acceleration support format” and “Bayer data conversion acceleration support format”, respectively.
  • 3 ⁇ 3 convolution acceleration support format for example, 3 ⁇ 3 two-dimensional gray scale data is converted into 1 ⁇ 9 one-dimensional gray scale data (array conversion data).
  • the data arrangement conversion unit 15 first selects the bits “1”, “16”, and “31” in the left column, and sequentially arranges these bit data in the horizontal direction. Next, the data array conversion unit 15 selects bits “2”, “17”, and “32” in the middle column, and sequentially arranges these bit data after the bit data of “31”. Then, the data array conversion unit 15 selects the bits “3”, “18”, and “33” in the right column, and sequentially arranges these bit data after the bit data “32”. In this manner, the data array conversion unit 15 converts the first 3 ⁇ 3 two-dimensional array data into one-dimensional array data.
  • the data array conversion unit 15 sequentially selects 3 ⁇ 3 two-dimensional data, and sequentially arranges the converted bit data after the immediately preceding bit data. In this manner, the data array conversion unit 15 converts all 3 ⁇ 3 two-dimensional array data into one-dimensional array data.
  • the “Bayer data conversion acceleration support format” converts the data array of Bayer data.
  • the data array conversion unit 15 may convert the data array of Bayer data.
  • bit data is converted into one-dimensional array data for each column.
  • bit data is converted for each row. It is converted to one-dimensional array data.
  • the data array conversion unit 15 selects the bits “1G”, “1R”, and “2G” in the upper stage (first column), and sequentially arranges these bit data in the horizontal direction. The symbol added to the number indicates the color of each bit.
  • the data array conversion unit 15 selects the “1B”, “7G”, and “2B” numbered bits in the middle stage (second row), and sequentially sets these bit data after the “2G” numbered bit data. Arrange.
  • the data array conversion unit 15 selects the “13G”, “7R”, and “14G” bits in the lower row (third row), and sequentially arranges these bit data after the “2B” bit data. To do.
  • the data array of Bayer data may be converted by the “3 ⁇ 3 convolution acceleration support format”, or the data array of RGB data or the like may be converted by the “Bayer data conversion acceleration support format”. .
  • FIG. 6 shows a case where 3 ⁇ 3 two-dimensional grayscale data is converted to 1 ⁇ 9 one-dimensional grayscale data
  • the present invention is not limited to this case.
  • a 5 ⁇ 5 two-dimensional array of grayscale data may be converted to a 1 ⁇ 25 one-dimensional array of grayscale data, or a larger two-dimensional array of grayscale data may be It may be converted into grayscale data.
  • the output terminal of the multiplexer 17 is connected to the second input terminal of the data superimposing unit 20.
  • the multiplexer 17 receives RGB data, grayscale data, and data arrangement conversion data, selects any one of these data, and outputs the selected data to the data superimposing unit 20 as preprocessing data.
  • FIG. 1 shows a case where grayscale data is selected and output as preprocessed data.
  • the preprocessing unit 10 outputs the generated preprocessing data.
  • the multiplexer 17 may select data based on a signal output from the CPU, or may select data based on a user instruction.
  • the data superimposing unit 20 is provided between the preprocessing unit 10 and the main processing unit 30.
  • the output end of the data superimposing unit 20 is connected to the input end of the main processing unit 30.
  • the data superimposing unit 20 and the main processing unit 30 are connected via a video bus, for example.
  • the data superimposing unit 20 generates superimposition data obtained by superimposing Bayer data and preprocess data, and outputs the generated superimposition data to the main processing unit 30.
  • FIG. 1 shows a case where Bayer data and grayscale data are superimposed.
  • 8-bit Bayer data is input to the first input terminal of the data superimposing unit 20.
  • 8-bit grayscale data, 8-bit array conversion data, or 24-bit RGB data is input to the second input terminal of the data superimposing unit 20. Therefore, the data superimposing unit 20 outputs, for example, 16-bit superimposition data obtained by superimposing Bayer data and grayscale data or array conversion data. Alternatively, the data superimposing unit 20 outputs 32-bit superimposition data obtained by superimposing Bayer data and RGB data.
  • FIG. 7 is a diagram for explaining an operation example of the data superimposing unit 20.
  • FIG. 7A is a diagram illustrating an operation when Bayer data and preprocessing data are output in parallel.
  • FIG. 7B is a diagram illustrating an operation when Bayer data and preprocessing data are alternately output.
  • the video bus width is, for example, 32 bits.
  • the data superposition unit 20 outputs the Bayer data and the preprocess data in parallel. Specifically, the data superimposing unit 20 outputs the superimposed data in synchronization with the video synchronization signal (horizontal synchronization signal).
  • the video bus width is 8 bits, for example.
  • the data superimposing unit 20 alternately outputs the Bayer data and the preprocess data because it cannot cope with the minimum bit number of 16 bits of the superimposed data. Also in this case, the data superimposing unit 20 outputs the superimposed data in synchronization with the horizontal synchronization signal.
  • the data superimposing unit 20 selects a data output format according to the video bus width and the number of bits of the superimposed data.
  • the main processing unit 30 includes a video input I / F 31, a memory controller 33, an image memory 35, a CPU 37, a video output I / F 39, and a storage I / F 41.
  • the video input I / F 31, the memory controller 33, the CPU 37, the video output I / F 39, and the storage I / F 41 excluding the image memory 35 are configured as one chip as an SoC (System on Chip).
  • the video input I / F 31 is connected to the data superimposing unit 20 via a video bus.
  • the video input I / F 31 receives the superimposition data output from the data superimposition unit 20 and outputs it to the memory controller 33.
  • the video input I / F 31 may perform processing for separating Bayer data and preprocessing data from the superimposed data.
  • the video input I / F 31 may store the separated Bayer data in the image memory 35 via the memory controller 33, or may store it in the storage 95 of the external device via the storage I / F 41. .
  • the memory controller 33 is connected to functional blocks such as the video input I / F 31, the CPU 37, and the image memory 35, and inputs / outputs various data between these functional blocks. For example, the memory controller 33 receives the superimposition data output from the video input I / F 31 and separates the superimposition data into Bayer data and preprocess data (grayscale data in FIG. 1). Then, the memory controller 33 stores the separated Bayer data and preprocess data in the image memory 35. The memory controller 33 may store Bayer data in the storage 95.
  • the memory controller 33 reads, for example, grayscale data from the image memory 35 based on a request from the CPU 37 and outputs it to the CPU 37. Further, the memory controller 33 reads image processing data generated by image processing in the CPU 37 from the CPU 37 and stores it in the image memory 35. Further, for example, the memory controller 33 reads out the image processing data from the image memory, and outputs it to the external device via the video output I / F 39.
  • the external device includes, for example, a device that performs a sorting operation (inspection operation) of agricultural products such as fruits and vegetables and inspection objects such as industrial products based on image processing data.
  • the image memory 35 is a functional block that stores various data relating to image processing, such as Bayer data, pre-processing data, and image processing data.
  • the image memory 35 includes, for example, a volatile memory such as a DRAM (Dynamic RAM), and these data are stored in the volatile memory.
  • DRAM Dynamic RAM
  • the CPU 37 controls each functional block of the image processing apparatus 1. In addition to this, the CPU 37 performs image processing based on the preprocessing data generated by the preprocessing unit 10. In the example of FIG. 1, the CPU 37 performs image processing based on grayscale data output as preprocessing data, and generates image processing data. The generated image processing data is stored in the image memory 35. In this way, the CPU 37 performs image processing using the pre-processed data, so the load on the image processing is reduced.
  • the CPU 37 cannot perform image processing on the same Bayer data until the preprocessing is completed.
  • the pre-processing unit 10 can perform pre-processing of the next Bayer data while the CPU 37 performs image processing on the previous Bayer data. As a result, it is possible to speed up image processing while reducing the load on the CPU 37.
  • the video output I / F 39 is connected to an external device such as a display (not shown) via a video bus, for example.
  • data such as image processing data is output to an external device via the video output I / F 39.
  • the storage I / F 41 is connected to a storage 95 such as an HDD (Hard Disk Drive).
  • a storage 95 such as an HDD (Hard Disk Drive).
  • Bayer data is output to the storage 95 via the storage I / F 41.
  • the CPU 37 performs image processing based on the preprocessing data generated by the preprocessing unit 10. According to this configuration, the image processing load on the CPU 37 is reduced, so that the image processing can be speeded up. As a result, the image processing in the CPU 37 and the pre-processing of the next Bayer data are executed in parallel, so that a plurality of image processing is performed efficiently.
  • the data array conversion unit 15 converts the data array of Bayer data or grayscale data to generate array conversion data.
  • the data array conversion unit converts grayscale data two-dimensionally arranged in 3 ⁇ 3 into 1 ⁇ 9 one-dimensional array conversion data.
  • the data array of grayscale data is converted into a one-dimensional array, so that access to the image memory 35 is made efficient. This also reduces the image processing load on the CPU 37 and speeds up the image processing.
  • the multiplexer 17 selects any one of RGB data, grayscale data, and array conversion data, and outputs the selected data as preprocessing data. According to this configuration, since necessary data can be selected from a plurality of preprocess data having different degrees of processing, image processing is performed more efficiently.
  • the bit selection unit 13a generates 18-bit selection bit data from, for example, 24-bit RGB data. According to this configuration, the circuit scale of the bit selection unit 13a and the conversion table 13b can be suppressed. In addition, the generation time of the selected bit data is shortened, and the time required for preprocessing is shortened.
  • bit selection unit 13a can select any 18 bits according to the color of the subject, it is possible to perform RGB-density conversion without degrading important color information.
  • this bit selection can reduce the number of data bits in the subsequent processing (for example, RGB-shading conversion processing), so that the amount of data to be processed can be reduced and the processing speed can be increased.
  • the circuit scale of 13b can be reduced or the increase in circuit scale can be suppressed.
  • the conversion table 13b converts, for example, 18-bit selection bit data into 8-bit grayscale data.
  • the conversion table 13b refers to the LUT and converts the address of the selected bit selected by the bit selection unit 13a into predetermined conversion data. According to this configuration, the time required for preprocessing is reduced.
  • the data superimposing unit 20 outputs superimposition data obtained by superimposing Bayer data and preprocessing data to the main processing unit.
  • the Bayer data before the conversion is also transferred to the main processing unit 30, so that the raw data before the image processing is saved and it is possible to respond to the traceability request.
  • grayscale data is output from the preprocessing unit 10, but in the present embodiment, a case where array conversion data of Bayer data is output as preprocessed data will be described.
  • FIG. 8 is a diagram illustrating an example of the configuration of the image processing apparatus according to the second embodiment of the present invention.
  • FIG. 8 is similar to FIG. 1 except that array conversion data of Bayer data is output. Further, FIG. 8 differs from FIG. 1 in the data stored in the image memory 35.
  • the data superimposing unit 20 superimposes the Bayer data and the array conversion data of the Bayer data output from the multiplexer 17, and outputs the superimposed data to the main processing unit 30.
  • the Bayer data and Bayer data array conversion data are stored in the image memory 35.
  • the CPU 37 generates RGB data based on the array conversion data of Bayer data. Then, the CPU 37 performs image processing by sequentially generating gray scale data and image processing data based on, for example, RGB data.
  • image processing may be performed based on the array conversion data of Bayer data.
  • the load on the CPU 37 is reduced, so that the image processing is speeded up. Also in the present embodiment, the effects of the first embodiment already described can be obtained.
  • Embodiment 3 Next, Embodiment 3 will be described.
  • a method for automatically performing effective bit selection in RGB-density conversion will be described.
  • Such automatic selection of effective bits is preferably used when, for example, a selection operation is continuously performed on a plurality of inspection objects such as agricultural products having different varieties.
  • FIG. 9 is a flowchart showing an example of the effective bit automatic selection method according to Embodiment 3 of the present invention. For the automatic selection of valid bits, for example, the processes of steps S10 to S50 shown in FIG. 9 are performed.
  • step S10 color histogram processing is performed. Specifically, the appearance frequency and density distribution of each RGB color in the image data before conversion (for example, RGB data) are analyzed.
  • step S20 18 bits that are valid bit candidates are selected based on the analysis result in step S10.
  • step S30 image recognition based on the 18 bits selected in step S20 is performed.
  • step S40 it is determined whether the processes in steps S20 to S30 have been executed a predetermined number of times.
  • step S20 finely adjusting the selection bits, selecting the next candidate 18 bits, and image recognition is performed in step S30. It should be noted that the image recognition results for a predetermined number of times are held so that they can be referred to. When the predetermined number of times is reached (Yes), the process proceeds to step S50. In step S50, the optimum 18 bits are determined based on the image recognition results of each time.
  • the conversion table 13b outputs conversion data corresponding to the reflected 18 bits.
  • FIG. 10 is a diagram showing an example of automatic selection of valid bits.
  • the inspection object of the product type 1 and the inspection object of the product type 2 are continuously conveyed in the predetermined conveyance direction.
  • the color of type 1 is strong in green
  • the color of type 2 is strong in red.
  • the selection bit is switched for each product type or each inspection object. Thereby, the selection operation
  • FIG. 11 is a diagram illustrating an example of a configuration of an imaging apparatus according to Embodiment 4 of the present invention.
  • the imaging device 91 includes a preprocessing unit 10.
  • the imaging device 91 includes a data superimposing unit 20 in addition to the preprocessing unit 10.
  • the imaging device 91 outputs superimposed data obtained by superimposing Bayer data and preprocessed data to the main processing unit 30.
  • the camera I / F 93 shown in FIGS. 1 and 8 is not necessary.
  • Bayer data can be stored in the internal memory of the imaging device 91. Therefore, only image capturing may be performed in advance, and image processing may be performed after the image capturing apparatus 91 and the main processing unit 30 are connected. Also in the present embodiment, the same effects as those of the previous embodiments can be obtained.
  • each functional block described above may be configured by a circuit or software. Some functional blocks may be configured by a circuit, and other functional blocks may be configured by software. Furthermore, a part or all of each functional block is constituted by an integrated circuit such as a CPU or FPGA, and a program stored in an internal or external memory of the CPU or FPGA is read to execute the operation of each functional block. It may be.
  • a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. .
  • the data array conversion unit may be deleted.
  • the preprocessing unit 10 outputs RGB data or grayscale data as preprocessing data.
  • SYMBOLS 1 ... Image processing apparatus, 10 ... Pre-processing part, 11 ... RGB data conversion part, 13 ... RGB-density conversion part, 15 ... Data arrangement conversion part, 17 ... Multiplexer, 20 ... Data superimposition part, 30 ... Main processing part, 33 ... Memory controller, 35 ... Image memory, 37 ... CPU, 91 ... Imaging device

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Color Television Image Signal Generators (AREA)

Abstract

画像処理装置1は、前処理部10と、メイン処理部30と、を備えている。前処理部10は、撮像装置91から出力されるBayerデータの前処理を行うことにより前処理データを生成し、生成した前処理データを出力する。メイン処理部30は、前処理データに基づいて画像処理を行う。

Description

画像処理装置及び撮像装置
 本発明は、画像処理装置及び撮像装置に関する。
 画像処理装置は、撮像装置から送信されるBayerデータに対して画像処理を行うことで画像処理データを生成する。このような画像処理では、例えば、(1)BayerデータからRGBデータへの変換、(2)RGBデータからグレースケールデータへの変換、(3)グレースケールデータから画像処理データへの変換等の各処理が行われる。
 また、特許文献1には、RAWデータ圧縮処理部は、多ビットにより形成される複数種の情報データを含む入力データを、同種の情報データごとに複数のグループに区分けするデータ区分け部と、データ区分け部で区分けされた各グループにおける情報データの最大値を抽出する最大値抽出部と、最大値抽出部で抽出された最大値を基に、グループ内の同種の情報データで共通のビットの削減位置を決定し、この決定に応じて共通のビットを削減するビット削減位置決定部とを有するデータ処理装置が開示されている。これにより、処理時間および回路規模の増大を抑止しつつ画質劣化を抑止することが可能とされている。
特開2012-222453号公報
 これらの画像処理は、主にCPU(Central Processing Unit)で実行される。しかし、メモリアクセスが頻繁に行われる等、非効率な処理が行われるため、画像処理に要する時間が長くなってしまうという問題がある。
 本発明は、上述した従来技術における問題点に鑑みてなされたものであり、画像処理を高速化させることを目的とする。
 本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
 本発明の代表的な実施の形態による画像処理装置は、前処理部と、前処理部の後段に設けられるメイン処理部と、を備えている。前処理部は、撮像装置から出力されるBayerデータを前処理した前処理データを生成し、生成した前処理データをメイン処理部へ出力する。メイン処理部は、前処理データに基づいて画像処理を行う。
 本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
 すなわち、本発明の代表的な実施の形態によれば、画像処理を高速化させることが可能となる。
本発明の実施の形態1に係る画像処理装置の構成の一例を示す図である。 前処理部の構成の詳細を示す図である。 ビット選択部における選択ビットの例を示す図である。 変換テーブルの構成の具体例を示す図である。 RGB-濃度変換設定画面の一例を示す図である。 データ配列変換の例を示す図である。 データ重畳部20の動作例を説明する図である。 本発明の実施の形態2に係る画像処理装置の構成の一例を示す図である。 本発明の実施の形態3に係る有効ビットの自動選択方法の一例を示すフローチャート図である。 有効ビットの自動選択の一例を示す図である。 本発明の実施の形態4に係る撮像装置の構成の一例を示す図である。
 以下、本発明の実施の形態の例を、図面を用いて説明する。なお、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって、適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成されてもよい。
 (実施の形態1)
 <画像処理装置の構成>
 図1は、本発明の実施の形態1に係る画像処理装置の構成の一例を示す図である。図1に示すように、画像処理装置1は、前処理部10、データ重畳部20、メイン処理部30を備えている。また、図1には、撮像装置(カメラ)91、カメラI/F93、ストレージ95も併せて示されている。カメラI/F93は、入力端が撮像装置91と接続され、出力端が前処理部10の入力端及びデータ重畳部20の第1入力端と接続されている。
 カメラI/F93は、撮像装置91から出力されるBayerデータを入力し、前処理部10及びデータ重畳部20へ出力する。撮像装置91は、例えば、8ビットのBayerデータを出力する。図1において、例えば、撮像装置91を除く各機能ブロックは、同一の画像処理ボードに搭載される。
 <<前処理部>>
 図2は、前処理部の構成の詳細を示す図である。前処理部10は、Bayerデータの前処理を行う機能ブロックである。前処理部10は、図2に示すように、RGBデータ変換部11、RGB-濃度変換部13、データ配列変換部15、マルチプレクサ17を備えている。前処理部10は、例えば、FPGA(field-programmable gate array)により構成される。また、前処理部10は、カメラI/F93及び後述するデータ重畳部20とともに同一基板上のFPGAにより構成されてもよい。
 <<<RGBデータ変換部>>>
 RGBデータ変換部11の入力端は、カメラI/F93の出力端と接続されている。また、RBGデータ変換部11の出力端は、RGB-濃度変換部13の入力端及びマルチプレクサ17の第1入力端と接続されている。RGBデータ変換部11は、BayerデータをRGBデータに変換する機能ブロックである。RGBデータ変換部11は、例えば、Bayerデータを24ビット(3色×8ビット)のRGBデータに変換する。RGBデータ変換部11は、RGBデータ(DATA1)を、RGB-濃度変換部13及びマルチプレクサ17へ出力する。
 <<<RGB-濃度変換部>>>
 RGB-濃度変換部13は、RGBデータをグレースケールのデータに変換する処理を行う。RGB-濃度変換部13の出力端は、マルチプレクサ17の第2入力端、及びデータ配列変換部15の第2入力端と接続されている。RGB-濃度変換部13は、RGB各色の濃度を調整することにより、RGBデータをグレースケールデータに変換し、生成したグレースケールデータ(DATA2)をマルチプレクサ17へ出力する機能ブロックである。RGB-濃度変換部13は、図2に示すように、ビット選択部13a、変換テーブル(LUT)13bを備えている。ビット選択部13aの入力端は、RGBデータ変換部11の出力端と接続されている。ビット選択部13aの出力端は、変換テーブル13bの入力端と接続されている。変換テーブル13bの出力端は、データ配列変換部15の入力端及びマルチプレクサ17の第2入力端と接続されている。
 ビット選択部13aは、RGBデータから所定個数のビットを選択した選択ビットデータを生成する機能ブロックである。ビット選択部13aは、被写体の色彩に応じて各色の比率を異ならせた選択ビットデータを生成する。例えば、ビット選択部13aは、24ビットのRGBデータから18ビットを有効ビットとして選択し、選択した有効ビットから選択ビットデータを生成する。
 具体的には、赤味を強調したい被写体であれば、ビット選択部13aは、赤色(R)のビット数を多くし、それ以外の緑色(G)や青色(G)のビット数を少なくして、総ビット数が所定個数(例えば18ビット)となるよう、ビットが選択されればよい。他の色味が強い場合についても同様である。
 図3は、ビット選択部における選択ビットの例を示す図である。図3には、3つの例が示されている。図3の1~2は、いずれも各色のビット数が6ビットで同数の場合の例を示している。まず、1の例では、各色の上位6ビット、R[7:2]、G[7:2]、B[7:2]が選択されている。この例では、各色における色味の強い部分がそれぞれ選択されている。次に、2の例では、各色の下位6ビット、R[5:0]、G[5:0]、B[5:0]が選択されている。この例では、各色における色味の抑えられた部分がそれぞれ選択されている。
 そして、3の例では、赤色(R)が全8ビットR[7:0]、緑色(G)及び青色(B)の上位5ビットG[7:3]、B[7:3]がそれぞれ選択されている。この例では、赤味が強調されるように各色のビットが選択されている。このようにして、これ以降の処理におけるデータのビット数を削減し、処理されるデータ量を低減する。
 変換テーブル13bは、ビット選択部13aで生成された選択ビットデータを所定個数より少ないビット数のグレースケールデータに変換する。例えば、変換テーブル13bは、18ビットの選択ビットデータを8ビットのグレースケールデータに変換する。変換テーブル13bは、例えば、SRAM(Static Random Access Memory)の一種であるDPRAM(Dual Ported RAM)で構成されている。そして、DPRAMには、LUT(Look up Table)が格納されている。LUTは、ビット選択部13aにより選択された選択ビットのアドレスを所定のデータ(グレースケールデータ)に変換するテーブルである。
 図4は、変換テーブルの構成の具体例を示す図である。図4(a)は、DPRAMの入出力の具体例を示す図である。図4(b)は、LUTの具体例を示す図である。図4(c)は、変換データを異ならせたときの変換前データと変換後データとを対比させた図である。
 図4(a)に示すように、DPRAMの入力側には、PortA及びPortBが設けられている。PortAは、例えば、後述するメイン処理部のCPUバスと接続されており、LUTを構成する変換データの設定等に用いられる。PortBは、ビット選択部13aと接続され、選択ビットデータの入力等に用いられる。DPRAMの出力側には、DoutA及びDoutBが設けられている。これらのうちDoutBからは、LUTにより変換されたグレースケールデータが出力される。
 図4(b)に示すように、LUTは、RGBデータの各ビットのアドレスと、アドレスごとに設定される所定の変換データと、を対応させたテーブルである。すなわち、RGBデータが24ビットであるとすれば、LUTには、ビットごとに24種類の変換データが設定される。
 例えば、図4(b)に示すように、アドレス「0x00000」、「0x00002」、「0x3FFFC」のビットが選択されたとすれば、それぞれのアドレスは、所定の変換データ「0x01」、「0x03」、「0xFC」に変換される。このように、変換テーブル13bにおいて、ビット数の少ないデータに変換される。なお、変換データは、CPUから任意に設定可能である。図4(c)に示すように、変換データに応じて、変換後のデータはそれぞれ異なるが、変換後のデータのビット数は同一(例えば8ビット)である。
 図5は、RGB-濃度変換設定画面の一例を示す図である。このRGB-濃度変換設定画面は、例えば、後述するメイン処理部の映像出力I/Fと接続される外部モニタ(図示は省略)に表示される。
 RGB-濃度変換設定画面には、例えば、変換前画像データ表示領域、変換後画像データ表示領域、RGB有効ビット設定領域、変換テーブル設定領域等が表示される。
 RGB有効ビット設定領域には、24ビットから有効な18ビットを選択するための、各色のビット選択画面が表示される。変換前画像データ表示領域には、RGB-濃度変換前の24ビットの画像データが表示される。すなわち、変換前画像データ表示領域には、RGB-濃度変換をシミュレートするための画像データが表示される。ここで表示される画像データはRGBデータに基づいているため、カラー表示である。なお、参照ボタンにより画像データの選択が可能である。
 一方、変換後画像データ表示領域には、RGB-濃度変換後の8ビットの画像データが表示される。すなわち、変換後画像データ表示領域には、RGB有効ビット設定領域において選択されたビットに基づくRGB-濃度変換シミュレート後の画像データが表示される。ここで表示される画像データは、グレースケール表示である。なお、更新ボタンによりRGB-濃度変換が実行される。
 RGB有効ビット設定領域には、24ビットから有効な18ビットを選択するための各色のビット選択画面が表示される。Autoボタンが押されると、変換前画像データ(例えば24ビット)の色分布の解析が自動で行われ、解析結果に基づき最適な有効ビットが選択される。
 変換テーブル設定領域には、RGB-濃度変換用の変換テーブルが設定される。例えば、「プリセット1~3」が選択されると、あらかじめ設定された変換テーブルが選択状態となり、選択された変換テーブルに基づくRGB-濃度変換が実行される。一方、ユーザセットボタンにより「ユーザセット」が選択されると、ユーザ独自の変換テーブル設定画面が表示され、ユーザにより設定された変換テーブルに基づくRGB-濃度変換が実行される。
 RGB-濃度変換設定画面の上部には、保存ボタン及び取消ボタンが設けられる。保存ボタンが押されると、有効ビットや変換テーブルの設定が保存される。また、保存処理終了後、上位画面に遷移されてもよい。取消ボタンが押されると、これらの設定は保存されない。また、取消処理終了後、上位画面に遷移されてもよい。
 <<<データ配列変換部>>>
 図2に示すように、データ配列変換部15の第1入力端は、カメラI/F93の出力端と接続されている。データ配列変換部15の第2入力端は、変換テーブル13bの出力端と接続されている。データ配列変換部15の出力端は、マルチプレクサ17の第3入力端と接続されている。
 データ配列変換部15は、グレースケールデータやBayerデータのデータ配列を変換して配列変換データを生成する機能ブロックである。例えば、データ配列変換部15は、2次元配列のグレースケールデータを1次元配列の配列変換データに変換する。また、データ配列変換部15は、2次元配列のBayerデータを1次元配列の配列変換データに変換してもよい。なお、データ配列変換部15は、グレースケールデータ等のデータ配列を変換するのみで、データ配列変換前後において、データのビット数は変動しない。すなわち、例えば、変換前に8ビットのグレースケールデータ又はBayerデータは、変化後も8ビットの配列変換データとなる。データ配列変換部15は、変換後の1次元配列の配列変換データ(DATA3)をマルチプレクサ17へ出力する。
 図6は、データ配列変換の例を示す図である。図6には、「3×3コンボリューション高速化支援フォーマット」、「Bayerデータ変換高速化支援フォーマット」の例がそれぞれ示されている。「3×3コンボリューション高速化支援フォーマット」では、例えば、3×3の2次元配列のグレースケールデータを1×9の1次元配列のグレースケールデータ(配列変換データ)に変換する。
 具体的に、図6の変換前データの左上の3×3の2次元データを例にして説明する。なお、各ビットには番号が振られている。データ配列変換部15は、まず左列にある「1」「16」「31」番のビットを選択し、これらのビットデータを横方向に順次配列する。次に、データ配列変換部15は、中列にある「2」「17」「32」番のビットを選択し、これらのビットデータを、「31」番のビットデータの後に順次配列する。そして、データ配列変換部15は、右列にある「3」「18」「33」番のビットを選択し、これらのビットデータを、「32」番のビットデータの後に順次配列する。このように、データ配列変換部15は、最初の3×3の2次元配列のデータを1次元配列のデータに変換する。
 そして、データ配列変換部15は、3×3の2次元データを順次選択し、直前のビットデータの後に変換後のビットデータを順次配列する。このように、データ配列変換部15は、すべての3×3の2次元配列のデータを1次元配列のデータに変換する。
 次に、「Bayerデータ変換高速化支援フォーマット」について説明する。「Bayerデータ変換高速化支援フォーマット」は、Bayerデータのデータ配列が変換される。このように、データ配列変換部15は、Bayerデータのデータ配列を変換してもよい。「3×3コンボリューション高速化支援フォーマット」では、1列ごとにビットデータを1次元配列のデータに変換されていたが、「Bayerデータ変換高速化支援フォーマット」では、1行ごとにビットデータを1次元配列のデータに変換される。
 具体的には、データ配列変換部15は、上段(第1列)にある「1G」「1R」「2G」番のビットを選択し、これらのビットデータを横方向に順次配列する。なお、数字に付加されている記号は、各ビットの色を示している。次に、データ配列変換部15は、中段(第2行)にある「1B」「7G」「2B」番のビットを選択し、これらのビットデータを、「2G」番のビットデータの後に順次配列する。そして、データ配列変換部15は、下段(第3行)にある「13G」「7R」「14G」番のビットを選択し、これらのビットデータを、「2B」番のビットデータの後に順次配列する。以下の処理は、同様であるので説明を省略する。なお、「3×3コンボリューション高速化支援フォーマット」により、Bayerデータのデータ配列が変換されてもよいし、「Bayerデータ変換高速化支援フォーマット」によりRGBデータ等のデータ配列が変換されてもよい。
 なお、図6では、3×3の2次元配列のグレースケールデータが1×9の1次元配列のグレースケールデータに変換される場合について示されているが、このような場合に限定されない。例えば、5×5の2次元配列のグレースケールデータが1×25の1次元配列のグレースケールデータに変換されてもよいし、それより大きいサイズの2次元配列のグレースケールデータが1次元配列のグレースケールデータに変換されてもよい。
 <<<マルチプレクサ>>>
 マルチプレクサ17の出力端は、データ重畳部20の第2入力端と接続されている。マルチプレクサ17は、RGBデータ、グレースケールデータ、及びデータ配列変換データ入力とし、これらのデータのいずれか1つを選択し、選択したデータを前処理データとしてデータ重畳部20へ出力する。図1では、グレースケールデータが選択され、前処理データとして出力される場合が示されている。
 このように、前処理部10は、生成した前処理データを出力する。なお、マルチプレクサ17は、例えば、CPUから出力される信号に基づいてデータを選択してもよいし、ユーザの指示に基づいてデータを選択してもよい。
 <<データ重畳部>>
 データ重畳部20は、前処理部10とメイン処理部30との間に設けられている。データ重畳部20の出力端は、メイン処理部30の入力端と接続されている。データ重畳部20とメイン処理部30とは、例えば映像バスを介して接続されている。データ重畳部20は、Bayerデータと、前処理データとを重畳した重畳データを生成し、生成した重畳データをメイン処理部30へ出力する。図1では、Bayerデータとグレースケールデータとが重畳された場合が示されている。
 データ重畳部20の第1入力端には、例えば8ビットのBayerデータが入力される。そして、データ重畳部20の第2入力端には、例えば、8ビットのグレースケールデータ、8ビットの配列変換データ、24ビットのRGBデータのいずれかが入力される。したがって、データ重畳部20は、Bayerデータと、グレースケールデータ又は配列変換データと、を重畳させた、例えば16ビットの重畳データを出力する。あるいは、データ重畳部20は、Bayerデータと、RGBデータと、を重畳させた32ビットの重畳データを出力する。
 図7は、データ重畳部20の動作例を説明する図である。図7(a)は、Bayerデータ及び前処理データを並行して出力する場合の動作を示す図である。図7(b)は、Bayerデータと前処理データとを交互に出力する場合の動作を示す図である。図7(a)では、映像バス幅が例えば32ビットである。この場合、重畳データの最大ビット数である32ビットにも対応できるので、データ重畳部20は、Bayerデータ及び前処理データを並行して出力する。具体的には、データ重畳部20は、映像同期信号(水平同期信号)に同期して重畳データを出力する。
 一方、図7(b)では、映像バス幅が例えば8ビットである。この場合、重畳データの最小ビット数である16ビットに対応できないので、データ重畳部20は、Bayerデータと前処理データとを交互に出力する。この場合も、データ重畳部20は、水平同期信号に同期して重畳データを出力する。
 このように、データ重畳部20は、映像バス幅及び重畳データのビット数に応じてデータ出力のフォーマットを選択する。
 <<メイン処理部>>
 図1に示すように、メイン処理部30は、映像入力I/F31、メモリコントローラ33、画像メモリ35、CPU37、映像出力I/F39、ストレージI/F41を備えている。これらのうち、例えば、画像メモリ35を除く、映像入力I/F31、メモリコントローラ33、CPU37、映像出力I/F39、ストレージI/F41は、SoC(System on Chip)として1チップで構成される。
 映像入力I/F31は、映像バスを介してデータ重畳部20と接続されている。映像入力I/F31は、データ重畳部20から出力される重畳データを入力し、メモリコントローラ33へ出力する。なお、映像入力I/F31は、重畳データからBayerデータ及び前処理データを分離する処理を行ってもよい。この場合、映像入力I/F31は、分離したBayerデータをメモリコントローラ33を介して画像メモリ35へ格納してもよいし、ストレージI/F41を介して外部装置のストレージ95に格納してもよい。
 メモリコントローラ33は、映像入力I/F31、CPU37、及び画像メモリ35等の機能ブロックと接続され、これらの機能ブロック間における各種データの入出力を行う。例えば、メモリコントローラ33は、映像入力I/F31から出力される重畳データを入力し、重畳データをBayerデータと前処理データ(図1ではグレースケールデータ)とに分離する。そして、メモリコントローラ33は、分離したBayerデータ及び前処理データを画像メモリ35に格納する。また、メモリコントローラ33がBayerデータをストレージ95に格納してもよい。
 また、メモリコントローラ33は、CPU37からの要求に基づいて、例えばグレースケールデータを画像メモリ35から読み出しCPU37へ出力する。また、メモリコントローラ33は、CPU37における画像処理により生成される画像処理データをCPU37から読み出し、画像メモリ35に格納する。さらに、メモリコントローラ33は、例えば、画像処理データを画像メモリから読み出し、映像出力I/F39を介して外部装置へ出力する。この外部装置は、例えば、画像処理データに基づいて青果等の農産物や工業製品等の検査対象物の選別作業(検品作業)を行う装置も含まれる。
 画像メモリ35は、Bayerデータ、前処理データ、画像処理データ等、画像処理に係る各種データを格納する機能ブロックである。画像メモリ35は、例えば、DRAM(Dynamic RAM)等の揮発性メモリを備え、揮発性メモリにこれらのデータが格納される。
 また、CPU37は、画像処理装置1の各機能ブロックの制御を行う。これ以外にも、CPU37は、前処理部10で生成される前処理データに基づいて画像処理を行う。図1の例では、CPU37は、前処理データとして出力されるグレースケールデータに基づいて画像処理を行い、画像処理データを生成する。生成された画像処理データは、画像メモリ35に格納される。このように、CPU37は、前処理後のデータを用いて画像処理を行うので、画像処理における負荷が軽減されている。
 本実施の形態では、前処理が完了するまで、CPU37は、同一のBayerデータに関する画像処理を行うことはできない。しかし、撮像装置91で撮像が連続して行われる場合、例えば、CPU37が直前のBayerデータに関する画像処理を行う間に、前処理部10は、次のBayerデータの前処理を行うことができる。これにより、CPU37の負荷を低減しつつ、画像処理を高速化することが可能となる。
 映像出力I/F39は、例えば、映像バスを介して、図示しないディスプレイ等の外部装置と接続されている。例えば画像処理データ等のデータが、映像出力I/F39を介して外部装置へ出力される。
 ストレージI/F41は、例えば、HDD(Hard Disk Drive)等のストレージ95と接続されている。例えばBayerデータが、ストレージI/F41を介してストレージ95へ出力される。
 <本実施の形態による主な効果>
 本実施の形態によれば、CPU37は、前処理部10において生成される前処理データに基づいて画像処理を行う。この構成によれば、CPU37における画像処理の負荷が軽減されるので、画像処理が高速化することが可能となる。また、これにより、CPU37における画像処理と、次のBayerデータの前処理とが並行して実行されるので、複数の画像処理が効率的に行われる。
 また、本実施の形態によれば、データ配列変換部15は、Bayerデータ又はグレースケールデータのデータ配列を変換して配列変換データを生成する。例えば、データ配列変換部は、3×3で2次元配列されたグレースケールデータを、1×9の1次元配列の配列変換データに変換する。この構成によれば、グレースケールデータのデータ配列が1次元配列に変換されることにより、画像メモリ35へのアクセスが効率化される。また、これにより、CPU37における画像処理の負荷が軽減され、画像処理が高速化される。
 また、本実施の形態によれば、マルチプレクサ17は、RGBデータ、グレースケールデータ、及び配列変換データのいずれか1つを選択し、選択したデータを前処理データとして出力する。この構成によれば、処理程度が異なる複数の前処理データから必要なデータを選択することができるので、より効率的に画像処理が行われる。
 また、本実施の形態によれば、ビット選択部13aは、例えば24ビットのRGBデータから18ビットの選択ビットデータを生成する。この構成によれば、ビット選択部13a、変換テーブル13bの回路規模が抑えられる。また、選択ビットデータの生成時間が短縮され、前処理に要する時間が短縮される。
 また、ビット選択部13aは、被写体の色彩に応じて任意の18ビットを選択することができるので、重要な色情報を劣化させることなく、RGB-濃度変換を行うことが可能である。また、このビット選択によって、これ以降の処理(例えばRGB-濃淡変換処理)におけるデータのビット数を低減できるので、処理されるデータ量を低減し処理の高速化を図ることができ、更に変換テーブル13bの回路規模を低減或いは回路規模の増大を抑制することができる。
 また、本実施の形態によれば、変換テーブル13bは、例えば18ビットの選択ビットデータから8ビットのグレースケールデータに変換する。その際、変換テーブル13bは、LUTを参照し、ビット選択部13aにより選択された選択ビットのアドレスを所定の変換データに変換する。この構成によれば、前処理に要する時間が短縮される。
 また、本実施の形態によれば、データ重畳部20は、Bayerデータと前処理データとを重畳した重畳データをメイン処理部へ出力する。この構成によれば、変換前のBayerデータもメイン処理部30へ転送されるので、画像処理前の生データが保存され、トレーサビリティ要求にも対応することが可能となる。
 (実施の形態2)
 次に、実施の形態2について説明する。実施の形態1では、グレースケールデータが前処理部10から出力されていたが、本実施の形態では、Bayerデータの配列変換データが前処理データとして出力される場合について説明する。
 図8は、本発明の実施の形態2に係る画像処理装置の構成の一例を示す図である。図8は、図1と類似しているが、Bayerデータの配列変換データが出力される点が異なる。また、図8は、画像メモリ35に格納されるデータが図1とは異なる。
 データ重畳部20は、Bayerデータと、マルチプレクサ17から出力されるBayerデータの配列変換データとを重畳し、重畳データをメイン処理部30へ出力する。これにより、画像メモリ35には、Bayerデータ及びBayerデータの配列変換データが格納される。
 CPU37は、Bayerデータの配列変換データに基づいてRGBデータを生成する。そして、CPU37は、例えば、RGBデータに基づいてグレースケールデータ、画像処理データを順次生成することにより画像処理を行う。
 このように、CPU37の能力に余裕がある場合や、CPU37においてRGBデータの生成も行いたい場合にはBayerデータの配列変換データに基づいて画像処理を行えばよい。Bayerデータの配列変換データを用いることにより、CPU37の負荷は軽減されるので、画像処理が高速化される。また、本実施の形態においても、すでに述べた実施の形態1における各効果も得られる。
 (実施の形態3)
 次に、実施の形態3について説明する。本実施の形態ではRGB-濃度変換における有効ビット選択を自動で行う方法について説明する。このような有効ビットの自動選択は、例えば、品種が異なる複数の農産物等の検査対象物に対し、連続して選別作業を行う場合に好適に用いられる。
 図5の濃度変換設定画面におけるRGB有効ビット設定領域にはAutoボタンが設けられている。このボタンが押されると、有効ビットの選択が自動で行われる。図9は、本発明の実施の形態3に係る有効ビットの自動選択方法の一例を示すフローチャート図である。有効ビットの自動選択には、例えば、図9に示すステップS10~S50の処理が行われる。
 まず、ステップS10では、カラーヒストグラム処理が行われる。具体的には、変換前の画像データ(例えば、RGBデータ)におけるRGB各色の出現頻度、濃度分布が解析される。そして、ステップS20では、ステップS10における解析結果に基づいて、有効ビットの候補となる18ビット選択される。次に、ステップS30では、ステップS20において選択された18ビットに基づいた画像認識が行われる。そして、ステップS40では、ステップS20~S30の処理が所定回数実行されたかどうかが判定される。
 所定回数に達していない場合(No)、ステップS20に戻り選択ビットを微調整しつつ、次の候補の18ビットが選択され、ステップS30において画像認識が行われる。なお、所定回数分の画像認識結果は、参照可能に保持されている。そして、所定回数に達すると(Yes)、ステップS50に移行する。そして、ステップS50では、各回の画像認識結果に基づいて最適な18ビットが決定される。
 なお、決定された18ビットは、リアルタイムに反映され、変換テーブル13bは、反映された18ビットに対応する変換データを出力する。
 図10は、有効ビットの自動選択の一例を示す図である。図10では、所定の搬送方向に品種1の検査対象物と、品種2の検査対象物とが連続して搬送されている。例えば、品種1の色彩は、緑色が強く、品種2の色彩は、赤色が強い。
 この場合、品種1に対しては、例えば、R[1:0]、G[7:0]、B[7:0]の18ビットが選択される。また、品種2に対しては、例えば、R[7:0]、G[7:0]、B[1:0]の18ビットが選択される。これらの選択ビットは、あくまで一例であり、照明等の検査場所の環境にも影響される場合もある。
 画像処理装置1では、品種ごと、あるいは、検査対象物ごとに選択ビットを切り換える。これにより、搬送装置を停止させることなく、異なる品種に対する選別作業が連続して行われる。
 本実施の形態においても、これまでの各実施の形態と同様の効果が得られる。
 (実施の形態4)
 次に、実施の形態4について説明する。本実施の形態では、前処理部が組み込まれた撮像装置について説明する。図11は、本発明の実施の形態4に係る撮像装置の構成の一例を示す図である。図11に示すように、撮像装置91は、前処理部10を備えている。具体的には、撮像装置91は、前処理部10とともに、データ重畳部20も備えている。これにより、撮像装置91は、Bayerデータと前処理データとを重畳した重畳データをメイン処理部30へ出力する。なお、本実施の形態では、図1,図8に示すカメラI/F93は不要である。
 本実施の形態では、撮像装置91の内部メモリにBayerデータを格納することが可能である。したがって、撮像のみを予め行っておき、撮像装置91とメイン処理部30とを接続した後に、画像処理が行われてもよい。本実施の形態においても、これまでの各実施の形態と同様の効果が得られる。
 各実施形態において、上記の各機能ブロックは、回路で構成されてもよく、またソフトウェアで構成されてもよい。また一部の機能ブロックを回路で構成し、他の機能ブロックをソフトウェアで構成してもよい。さらにまた、各機能ブロックの一部あるいは全部をCPUまたはFPGA等の集積回路で構成し、CPUまたはFPGAの内部或いは外部のメモリに格納されたプログラムを読みだして各機能ブロックの動作を実行するようにしてもよい。
 なお、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
 また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
 例えば、前処理部においてデータ配列変換を行わない場合には、データ配列変換部は削除されてもよい。この場合、前処理部10は、RGBデータ又はグレースケールデータを前処理データとして出力する。
 なお、図面に記載した各部材や相対的なサイズは、本発明を分かりやすく説明するため簡素化・理想化しており、実装上はより複雑な形状となる場合がある。
 1…画像処理装置、10…前処理部、11…RGBデータ変換部、13…RGB-濃度変換部、15…データ配列変換部、17…マルチプレクサ、20…データ重畳部、30…メイン処理部、33…メモリコントローラ、35…画像メモリ、37…CPU、91…撮像装置

Claims (12)

  1.  前処理部と、
     メイン処理部と、
     を備え、
     前記前処理部は、撮像装置から出力されるBayerデータの前処理を行うことにより前処理データを生成し、生成した前記前処理データを出力し、
     前記メイン処理部は、前記前処理データに基づいて画像処理を行う、
     画像処理装置。
  2.  請求項1に記載の画像処理装置において、
     前記前処理部は、前記BayerデータをRGBデータに変換するRGBデータ変換部と、各色の濃度を調整することにより前記RGBデータをグレースケールデータに変換するRGB-濃度変換部と、を有し、
     前記RGBデータ又は前記グレースケールデータを前処理データとして出力する、
     画像処理装置。
  3.  請求項2に記載の画像処理装置において、
     前記前処理部は、前記Bayerデータ又は前記グレースケールデータのデータ配列を変換して配列変換データを生成するデータ配列変換部を有し、
     前記RGBデータ、前記グレースケールデータ、及び前記配列変換データのいずれか1つを前処理データとして出力する、
     画像処理装置。
  4.  請求項3に記載の画像処理装置において、
     前記前処理部は、前記RGBデータ、前記グレースケールデータ、及び前記配列変換データを入力とするマルチプレクサを有し、
     前記マルチプレクサは、前記RGBデータ、前記グレースケールデータ、及び前記配列変換データのいずれか1つを選択し、選択したデータを前処理データとして出力する、
     画像処理装置。
  5.  請求項2に記載の画像処理装置において、
     前記RGB-濃度変換部は、前記RGBデータから所定個数のビットを選択し、選択ビットからなる選択ビットデータを生成するビット選択部と、前記選択ビットデータを前記所定個数より少ないビット数の前記グレースケールデータに変換する変換テーブルと、を有する、
     画像処理装置。
  6.  請求項5に記載の画像処理装置において、
     前記ビット選択部は、24ビットの前記RGBデータから18ビットの前記選択ビットデータを生成し、
     前記変換テーブルは、前記18ビットの選択ビットデータから8ビットの前記グレースケールデータに変換する、
     画像処理装置。
  7.  請求項5に記載の画像処理装置において、
     前記変換テーブルは、前記ビット選択部により選択された前記選択ビットのアドレスと、所定の変換データと、を対応させるLUT(Look Up Table)を有する、
     画像処理装置。
  8.  請求項5に記載の画像処理装置において、
     前記ビット選択部は、被写体の色彩に応じて各色の比率を異ならせた前記選択ビットデータを生成する、
     画像処理装置。
  9.  請求項3に記載の画像処理装置において、
     前記データ配列変換部は、2次元配列の前記グレースケールデータを1次元配列の前記配列変換データに変換する、
     画像処理装置。
  10.  請求項9に記載の画像処理装置において、
     前記データ配列変換部は、3×3で前記2次元配列された前記グレースケールデータを、1×9の前記1次元配列の前記配列変換データに変換する、
     画像処理装置。
  11.  請求項1に記載の画像処理装置において、
     前記前処理部と前記メイン処理部との間にデータ重畳部を備え、
     前記データ重畳部は、前記Bayerデータと前記前処理データとを重畳した重畳データを前記メイン処理部へ出力する、
     画像処理装置。
  12.  請求項1~11のいずれか1項に記載の前記前処理部を備えた、
     撮像装置。
PCT/JP2019/022290 2018-06-12 2019-06-05 画像処理装置及び撮像装置 WO2019239978A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/973,792 US12081919B2 (en) 2018-06-12 2019-06-05 Image processing apparatus and imaging device
CN201980038747.7A CN112262571B (zh) 2018-06-12 2019-06-05 图像处理装置和摄像装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-112296 2018-06-12
JP2018112296A JP6924723B2 (ja) 2018-06-12 2018-06-12 画像処理装置及び撮像装置

Publications (1)

Publication Number Publication Date
WO2019239978A1 true WO2019239978A1 (ja) 2019-12-19

Family

ID=68842235

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/022290 WO2019239978A1 (ja) 2018-06-12 2019-06-05 画像処理装置及び撮像装置

Country Status (4)

Country Link
US (1) US12081919B2 (ja)
JP (1) JP6924723B2 (ja)
CN (1) CN112262571B (ja)
WO (1) WO2019239978A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006033496A (ja) * 2004-07-16 2006-02-02 Ricoh Co Ltd データ幅可変な撮像装置及び撮像方法
WO2012169140A1 (ja) * 2011-06-08 2012-12-13 パナソニック株式会社 画像処理装置及び画像処理方法並びにデジタルカメラ
JP2014072846A (ja) * 2012-10-01 2014-04-21 Fujitsu Semiconductor Ltd 画像合成装置及び画像合成方法
JP2014121024A (ja) * 2012-12-18 2014-06-30 Olympus Corp 撮像装置
WO2016171006A1 (ja) * 2015-04-21 2016-10-27 ソニー株式会社 符号化装置および符号化方法、並びに、復号装置および復号方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3815767B2 (ja) * 1998-05-29 2006-08-30 キヤノン株式会社 画像形成装置,方法,画像処理装置,方法および記録媒体
JP4875833B2 (ja) * 2004-03-16 2012-02-15 オリンパス株式会社 撮像装置、画像処理装置、画像処理システム、及び画像処理方法
TW200740198A (en) * 2006-04-07 2007-10-16 Innolux Display Corp Display device and method of transmitting signals thereof
JP2008242733A (ja) * 2007-03-27 2008-10-09 Seiko Epson Corp 画像処理装置
JP4356778B2 (ja) * 2007-06-25 2009-11-04 ソニー株式会社 画像撮影装置及び画像撮影方法、並びにコンピュータ・プログラム
JP4764487B2 (ja) * 2009-03-02 2011-09-07 株式会社日立製作所 映像監視システム
JP2012222453A (ja) 2011-04-05 2012-11-12 Sony Corp データ処理装置、データ処理方法、プログラム、およびカメラシステム
US9175975B2 (en) * 2012-07-30 2015-11-03 RaayonNova LLC Systems and methods for navigation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006033496A (ja) * 2004-07-16 2006-02-02 Ricoh Co Ltd データ幅可変な撮像装置及び撮像方法
WO2012169140A1 (ja) * 2011-06-08 2012-12-13 パナソニック株式会社 画像処理装置及び画像処理方法並びにデジタルカメラ
JP2014072846A (ja) * 2012-10-01 2014-04-21 Fujitsu Semiconductor Ltd 画像合成装置及び画像合成方法
JP2014121024A (ja) * 2012-12-18 2014-06-30 Olympus Corp 撮像装置
WO2016171006A1 (ja) * 2015-04-21 2016-10-27 ソニー株式会社 符号化装置および符号化方法、並びに、復号装置および復号方法

Also Published As

Publication number Publication date
JP6924723B2 (ja) 2021-08-25
CN112262571A (zh) 2021-01-22
US12081919B2 (en) 2024-09-03
US20210258552A1 (en) 2021-08-19
JP2019216351A (ja) 2019-12-19
CN112262571B (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
CN107346546B (zh) 一种图像处理方法及装置
JP4406443B2 (ja) 画像補正装置
JPWO2012004830A1 (ja) 画像処理装置
US10152945B2 (en) Image processing apparatus capable of performing conversion on input image data for wide dynamic range
US20070132883A1 (en) On-screen display device and control method therefor
WO2019239978A1 (ja) 画像処理装置及び撮像装置
US8107745B2 (en) Image processing device
US20090073276A1 (en) Image processing system, method thereof and image capturing device with image processing system
US8111931B2 (en) Image processing device
JP5911633B1 (ja) 画像処理装置
US20220366674A1 (en) Learning device, image processing device, parameter generation device, learning method, and image processing method
JP5104528B2 (ja) 画像処理装置および画像処理プログラム
JP2008017059A (ja) 非線形変換装置および非線形変換方法
JP2010283588A (ja) 高精細映像信号処理装置
CN114494691A (zh) 图像处理方法及图像处理系统
JP5883963B2 (ja) 画像処理装置
WO2022113910A1 (ja) 画像処理装置、画像処理方法及びプログラム
JP7279365B2 (ja) 表示制御装置、表示装置、表示制御方法及びプログラム
JP2015138417A (ja) 画像処理装置および画像処理方法
JP2006154576A (ja) 階調補正装置および階調補正方法
US11763417B2 (en) Semiconductor device and image processing system for processing regions of interest images
CN113516946B (zh) Oled面板的亮度补偿方法及装置、驱动芯片、存储介质
JP7572762B1 (ja) 検査装置、検査方法及びプログラム
US8111935B2 (en) Image processing methods and image processing apparatus utilizing the same
US9767537B1 (en) System and method for inspection using programmable filters

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

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

Country of ref document: EP

Kind code of ref document: A1