WO2020251337A1 - 카메라 장치 및 카메라 장치의 이미지 생성 방법 - Google Patents

카메라 장치 및 카메라 장치의 이미지 생성 방법 Download PDF

Info

Publication number
WO2020251337A1
WO2020251337A1 PCT/KR2020/007738 KR2020007738W WO2020251337A1 WO 2020251337 A1 WO2020251337 A1 WO 2020251337A1 KR 2020007738 W KR2020007738 W KR 2020007738W WO 2020251337 A1 WO2020251337 A1 WO 2020251337A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
image
resolution
bayer
deep learning
Prior art date
Application number
PCT/KR2020/007738
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
Priority claimed from KR1020190070298A external-priority patent/KR102242939B1/ko
Priority claimed from KR1020190130677A external-priority patent/KR20210047070A/ko
Application filed by 엘지이노텍 주식회사 filed Critical 엘지이노텍 주식회사
Priority to JP2021572932A priority Critical patent/JP2022536327A/ja
Priority to EP20823426.0A priority patent/EP3985961A4/en
Priority to US17/617,832 priority patent/US20220253978A1/en
Priority to CN202080057178.3A priority patent/CN114270799B/zh
Publication of WO2020251337A1 publication Critical patent/WO2020251337A1/ko

Links

Images

Classifications

    • 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/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • 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/815Camera processing pipelines; Components thereof for controlling the resolution by using a single image
    • 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/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • 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
    • H04N25/11Arrangement of colour filter arrays [CFA]; Filter mosaics
    • H04N25/13Arrangement of colour filter arrays [CFA]; Filter mosaics characterised by the spectral characteristics of the filter elements
    • H04N25/134Arrangement of colour filter arrays [CFA]; Filter mosaics characterised by the spectral characteristics of the filter elements based on three different wavelength filter elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Definitions

  • the present invention relates to a camera module, a mobile terminal device including the same, and a method of generating an image, and more particularly, to a technology for generating a low-resolution image as a high-resolution image using a deep learning algorithm.
  • Such a camera module is manufactured with an image sensor such as a CCD or CMOS as a main component, and is manufactured so that focus can be adjusted to adjust the size of an image.
  • an image sensor such as a CCD or CMOS
  • Such a camera module includes a plurality of lenses and an actuator, and the actuator moves each lens to change the relative distance, so that the optical focal length can be adjusted.
  • the camera module includes an image sensor that converts an externally received optical signal into an electrical signal, a lens that condenses light with the image sensor, an IR (Infrared) filter, a housing including these, and a printing that processes signals from the image sensor.
  • a circuit board and the like are included, and the focal length of the lens is adjusted by an actuator such as a VCM (Voice Coil Motor) actuator or a MEMS (Micro Electromechanical Systems) actuator.
  • VCM Vehicle Coil Motor
  • MEMS Micro Electromechanical Systems
  • a camera is equipped with a zoom function to capture a distant object.
  • the zoom function is an optical zoom that enlarges the object by moving the actual lens inside the camera, and a partial screen of image data photographing the object. It is divided into a digital zoom method that obtains a zoom effect by displaying enlarged in a digital processing method.
  • sensor shift technology that shakes the sensor with Voice Coil Motor (VCM) or Micro-Electro Mechanical Systems (MEMS) technology
  • MEMS Micro-Electro Mechanical Systems
  • OIS Optical Image
  • technologies for realizing high-resolution images by generating more pixel information by moving parts inside the camera such as a stabilizer technology and a technology that shakes a filter between a sensor and a lens.
  • the size of the camera module increases as the camera module is inserted in a complex device for implementing this, and it is difficult to use in a vehicle with a camera, and can only be used in a fixed environment because it is implemented by shaking the parts.
  • the present invention is an invention devised to solve the problems of the prior art as described above, and can generate a high-resolution image without causing problems such as motion blur or artifacts. It is to provide a camera module and a mobile terminal device including the same.
  • a chip to which a high-resolution implementation algorithm based on deep learning technology is applied is mounted on a camera module or a mobile terminal device equipped with a camera module in the form of On The Fly to more efficiently generate high-resolution images. It is to provide a capable camera module and a mobile terminal device including the same.
  • the camera device includes an image sensor that generates first Bayer data having a first resolution and a second Bayer having a second resolution higher than the first resolution by performing deep learning based on the first Bayer data. It may include a processor that outputs data.
  • the processor may generate first array data in which the first Bayer data are arranged for each wavelength band, and then perform deep learning based on the generated first array data to generate the second array data.
  • the processor may generate the second Bayer data based on the second array data.
  • the processor may generate an image having the second resolution based on the second Bayer data.
  • the processor includes a first data alignment unit that generates first array data by arranging the first Bayer data by wavelength band, and deep learning that outputs second array data by performing deep learning based on the first array data. It may include a processor and a second data alignment unit that generates second Bayer data in which the second array data is arranged in a Bayer pattern.
  • the processor is configured to generate at least one first line buffer for storing the first Bayer data for each line, and first array data arranged for each wavelength band by receiving information output from the first line buffer.
  • a first data alignment unit, a deep learning processor that performs deep learning based on the first array data to generate second array data, and second data that generates second array data that arranges second array data in a Bayer pattern It may include an alignment unit and at least one second line buffer for storing data output from the second data alignment unit for each line.
  • a method of generating an image of a camera device includes generating first Bayer data having a first resolution, generating first array data by classifying the first Bayer data by wavelength band, and the first array Generating second array data by performing deep learning based on data, and generating second Bayer data having a second resolution higher than the first resolution based on the second array data.
  • the generating of the second Bayer data may include generating the second array data by arranging them in a Bayer pattern.
  • the first Bayer data includes a plurality of row data
  • the generating of the first array data includes the first Bayer data output through a preset N+1 row line. It may include the step of generating the first arrangement data based on.
  • the outputting through the preset N+1 row lines includes sequentially storing N row data among a plurality of row data of the received first Bayer data, and then transmitting the N+1 row. It may include the step of outputting N row data together.
  • the chip to which the present technology is applied can be manufactured in a small size, it can be mounted in various ways in various positions according to the purpose of use of the mounted device, so that the degree of freedom of design can be increased.
  • an expensive processor is not required to perform the existing deep learning algorithm, a high-resolution image can be generated more economically.
  • this technology can be implemented in a manner that can be mounted at any position of an image sensor module, camera module, or AP module, the technology is applied to a camera module without zoom function or a camera module that supports only fixed zoom for a specific magnification You can use the zoom function.
  • FIG. 1 is a block diagram showing some components of a camera module according to a first embodiment of the present invention.
  • FIG. 2 is a view showing some components of the image generating unit according to the first embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a process of performing deep learning training according to the first embodiment of the present invention.
  • FIG. 4 is a diagram showing a process of performing deep running training according to the first embodiment and another embodiment of the present invention.
  • FIG. 5 is a diagram illustrating information input to a processor to which a deep learning algorithm is applied and output information output through the processor.
  • FIGS. 6 and 7 are diagrams illustrating a state in which a first Bayer image having a first resolution is converted into a second Bayer image having a second resolution by a processor.
  • FIG. 8 is a block diagram showing some components of a mobile terminal device according to the first embodiment of the present invention.
  • FIG. 9 is a block diagram showing some components of a mobile terminal device including a camera module according to the first embodiment of the present invention.
  • FIG. 10 is a block diagram showing some components of a mobile terminal device including a camera module according to another embodiment of the first embodiment of the present invention.
  • FIG. 11 is a block diagram showing some components of a mobile terminal device including a camera module according to another embodiment of the first embodiment of the present invention.
  • FIG. 12 is a flow chart showing the procedure of an image generating method according to the first embodiment of the present invention.
  • FIG. 13 is a block diagram of an image processing apparatus according to a second embodiment of the present invention.
  • FIG. 14 is a block diagram of a camera module included in the image processing apparatus according to the second embodiment of the present invention.
  • 15 is a block diagram of a mobile device to which the configuration of an image processing device according to a second embodiment of the present invention is applied.
  • 16 is a block diagram of an image processing apparatus according to another embodiment of the second embodiment of the present invention.
  • 17 is a block diagram of a mobile device to which the configuration of an image processing apparatus according to another embodiment of the second embodiment of the present invention is applied.
  • FIG. 18 is a diagram for explaining a process of processing an image in the image processing apparatus according to the second embodiment of the present invention.
  • 19 is a block diagram of an image processing apparatus according to another embodiment of the second embodiment of the present invention.
  • FIG. 20 is a flowchart of an image processing method according to a second embodiment of the present invention.
  • 21 is a flowchart of an image processing method according to another embodiment of the second embodiment of the present invention.
  • FIGS. 13 to 21 are an image processing device and image processing according to a second embodiment of the present invention. It is a diagram of the method.
  • FIG. 1 is a block diagram showing some components of the camera module 100 according to the first embodiment of the present invention
  • FIG. 2 is a block diagram showing some components of the image generating unit 200 according to the first embodiment
  • 3 is a diagram illustrating an example of a deep learning process performed by the processor 220 according to the first embodiment.
  • the camera module 100 transmits an image sensor 110 that acquires an image of an external object and an image acquired by the image sensor 110 to the image generator 200.
  • the image generation unit 200 receives the image transmitted by the transmission unit 120 and transmits the image to the processor 220, the receiving unit 210, the image received from the receiving unit 210
  • a processor 220 that generates an image having a resolution different from the resolution of the received image by applying an algorithm derived from the deep learning training, and an output unit that receives and transmits the image generated by the processor 220 to an external device (230) and the like.
  • the algorithm derived as a result of performing the deep learning training may be the convolutional neural network described above.
  • the processor 220 may be a processor learned using a deep learning-based algorithm. It may include a pipelined processor, and may include a convolutional neural network trained to generate second Bayer data from first Bayer data.
  • the image sensor 110 may include an image sensor such as a Complementary Metal Oxide Semiconductor (CMOS) or a Charge Coupled Device (CCD) that changes light entering through the lens 120 of the camera module into an electric signal.
  • CMOS Complementary Metal Oxide Semiconductor
  • CCD Charge Coupled Device
  • the transmission unit 120 may transmit the image acquired by the image sensor 110 to the reception unit 210 of the image generating apparatus 200.
  • the transmission unit 120 and the image sensor 110 are illustrated as distinct components, but the present invention is not limited thereto, and the image sensor 110 may simultaneously perform the role of the transmission unit 120 to be described later.
  • the transmission unit 120 may extract information on a Bayer pattern from an image acquired by the image sensor 110 and transmit the information about the Bayer pattern to the reception unit 210.
  • the image generation unit 200 receives the image transmitted by the transmission unit 120 and transmits the image to the processor 220 by the transmission unit 210, the image received from the transmission unit 210 by deep learning training.
  • a processor 220 that generates an image having a higher resolution using the generated algorithm, and an output unit 230 that receives and transmits the image generated by the processor 220 to the outside may be included.
  • the processor 220 receives a Bayer image having a first resolution from the receiving unit 210, and then generates a Bayer image having a second resolution using an algorithm generated by deep learning training, and then generates The second Bayer image can be transmitted to the output unit 230.
  • the second resolution means a resolution having a resolution value different from the first resolution, and specifically, means a resolution higher or lower than the first resolution. can do.
  • the resolution value that the second resolution can have can be freely set and changed by the user according to the user's purpose.
  • the camera module 100 may further include an input unit for receiving information on the second resolution, although not shown in the drawing, and the user can transmit information on the desired resolution to the camera module 100. You can enter as
  • the second resolution can be set to a resolution that has a large difference from the first resolution, and when a new image is to be acquired within a relatively short time, the first resolution and The second resolution value can be freely set to a resolution that does not have much difference in resolution.
  • the processor 220 may be implemented through a memory (not shown) in which at least one program command executed through the processor is stored.
  • the memory may include a volatile memory such as S-RAM and D-lap.
  • the present invention is not limited thereto, and in some cases, the memory is a ratio of flash memory, ROM (Read Only Memory), EPROM (Erasable Programmable Read Only Memory: EPROM), and EPROM (Electrically Erasable Programmable Read Only Memory: EEPROM). It may also include volatile memory.
  • a typical camera device or camera module outputs image data through a process (color interpolation, color interpolation, or demosaicing) that receives Bayer patterns from an image sensor and coats them with color, and the transmission unit 120 according to an embodiment May extract information including Bayer pattern information from the image received from the image sensor 110 and transmit the extracted information to the outside.
  • a process color interpolation, color interpolation, or demosaicing
  • the transmission unit 120 May extract information including Bayer pattern information from the image received from the image sensor 110 and transmit the extracted information to the outside.
  • the Bayer pattern may include raw data output from the image sensor 110 that converts an optical signal included in the camera device or camera module 100 into an electrical signal.
  • the optical signal transmitted through the lens 120 included in the camera module 100 is converted into an electrical signal through each pixel disposed on an image sensor capable of detecting R, G, and B colors. Can be.
  • the specification of the camera module 100 is 5 million pixels, it may be considered that an image sensor including 5 million pixels capable of detecting R, G, and B colors is included. Although the number of pixels is 5 million, a monochromatic pixel that does not actually detect each color but only detects the brightness of black and white can be viewed in a form combined with any one of R, G, and B filters.
  • R, G, and B color filters are arranged in a specific pattern on monochromatic pixel cells arranged by the number of pixels. Accordingly, R, G, and B color patterns are intersected and arranged according to the visual characteristics of the user (ie, human), which is called a Bayer pattern.
  • the Bayer pattern has a smaller amount of data than image data. Therefore, even a device equipped with a camera module that does not have a high-end processor can transmit and receive Bayer pattern image information relatively faster than image data, and convert it into images having various resolutions based on this. There are advantages.
  • a camera module is mounted on a vehicle, so that many processors are not required for image processing even in an environment in which the camera module uses a low voltage differential signaling method (LVDS) with a full-duplex transmission rate of 100 Mbit/s. As there is no overload, it may not be a hazard to the driver or the driver's safety.
  • LVDS low voltage differential signaling method
  • the transmission unit 120 receives the Bayer pattern frame from the image sensor 110, and then down-samples it to a size of 1/n. Can be sent.
  • the transmission unit 120 may perform downsampling after performing smoothing through a Gaussian filter or the like on data of the Bayer pattern received before downsampling. Thereafter, a frame packet may be generated based on the down-sampled image data, and then the completed frame packet may be transmitted to the receiver 210.
  • these functions may be performed at the same time in the processor 220 instead of the transmission unit 120.
  • the transmission unit 120 may include a serializer (not shown) that converts Bayer patterns into serial data in order to transmit Bayer pattern information in a serial communication method such as a low voltage differential signaling method (LVDS).
  • a serializer (not shown) that converts Bayer patterns into serial data in order to transmit Bayer pattern information in a serial communication method such as a low voltage differential signaling method (LVDS).
  • LVDS low voltage differential signaling method
  • the serializer may include or be implemented with a buffer that temporarily stores data and a phase-locked loop (PLL) that forms a period of transmitted data.
  • PLL phase-locked loop
  • the algorithm applied to the processor 220 of the camera module 100 is an algorithm that generates an image having a resolution higher than the resolution of the input image, and is an optimum generated by repeatedly performing deep learning training. Can mean the algorithm of.
  • the convolutional neural network which is an algorithm generated by deep learning training, may be trained to receive first Bayer data having one resolution and generate second Bayer data having a second resolution.
  • Deep learning sometimes expressed as deep learning, is machine learning that attempts to achieve a high level of abstraction (summarizing key contents or functions in a large amount of data or complex data) through a combination of several nonlinear transformation methods. It refers to a set of algorithms for (machine learning).
  • deep learning represents some training data in a form that a computer can understand (for example, in the case of an image, pixel information is expressed as a column vector), and there are many to apply it to learning.
  • a learning technique for research how to make a better representation technique and how to make a model to learn these
  • learning techniques such as Deep Neural Networks (DNN) and Deep Belief Networks (DBN).
  • deep learning may first recognize the surrounding environment and transmit the current environment state to the processor.
  • the processor performs the corresponding action, and the environment again informs the processor of the reward for the action. And the processor chooses the action that maximizes the reward. Through this process, the learning process can be repeated.
  • the training data used while performing deep learning may be a result obtained by converting a Bayer image with a low resolution into a Bayer image with a high resolution, or may be information obtained through simulation.
  • FIG. 3 is a diagram illustrating a process of performing deep learning training according to an embodiment
  • FIG. 4 is a diagram illustrating a process of performing deep learning training according to another embodiment.
  • the deep learning of FIG. 3 is deep learning to which a deep neural network (DNN) algorithm is applied, and is a diagram illustrating a process of generating an image having a new resolution according to the application of the DNN algorithm.
  • DNN deep neural network
  • a deep neural network is a deep neural network in which multiple hidden layers exist between an input layer and an output layer, and a connection pattern between neurons similar to the structure of an animal's visual cortex. It can be embodied as a convolutional neural network that forms a and a recurrent neural network that builds up the neural network every moment over time.
  • the convolutional neural network may be at least one model of a Fully Convolutional Network (FCN), U-Net, MobileNet, Residual Dense Network (RDN), and Residential Channel Attention Network (RCAN). It is natural that a variety of other models can be used.
  • DNN classifies neural networks by reducing and distorting the amount of data by repeating convolution and sub-sampling.
  • DNN outputs class results through feature extraction and classification behavior, and is mainly used to analyze images, and convolution means image filtering.
  • the processor 220 attempts to increase the magnification based on the Bayer image 10 having the first resolution received from the receiver 210. Convolution and sub-sampling are performed on the desired region.
  • Increasing the magnification means magnifying only a specific part of the image acquired by the image sensor 110. Accordingly, since a portion not selected by the user is a portion that the user is not interested in, there is no need to perform a process of increasing the resolution, and thus the convolution and sub-sampling process can be performed only on the portion selected by the user.
  • Sub-sampling refers to the process of reducing the size of an image.
  • a Max Pool method may be used for sub-sampling.
  • Max-Pull is a technique that selects the maximum in a given area, similar to how neurons respond to the largest signal.
  • Sub-sampling has the advantage of reducing noise and increasing the speed of learning.
  • a plurality of images 20 may be output as shown in FIG. 3. Thereafter, a plurality of images having different characteristics may be output using an up-scale method based on the output images.
  • the up-scale method means that the image is scaled up by r*r times by using different r ⁇ 2 filters.
  • the processor 220 When a plurality of images according to the upscale are output as shown in FIG. 3 (30), the processor 220 recombines based on these images and finally outputs a second Bayer image 40 having a second resolution. can do.
  • the deep learning of FIG. 4 is a diagram illustrating a method of performing deep learning in a manner different from that of the deep learning of FIG. 3, and is a diagram specifically describing a process of generating an algorithm formed by iterative learning.
  • deep learning training may be performed based on the input.
  • the deep learning according to FIG. 4 uses the first sample data (X) as input data and compares and analyzes the output data (Y) and the second sample data (Z) for performing deep learning training.
  • An algorithm that generates an image with a higher resolution can be created as a basis.
  • the output data (Y) is data actually output through deep learning
  • the second sample data (Z) is data input by the user.
  • the first sample data (X) is input to the algorithm, it is most ideally output. It can mean data that can be made.
  • the algorithm according to FIG. 4 compares and analyzes the most ideal second sample data Z as the output result and the first output data Y, which is the actual output data, to derive the difference, and then the algorithm in the direction of canceling the difference. You can give feedback on
  • feedback is given by changing or deleting the parameter or creating a new parameter to provide the ideal output data, the second sample data Z, and the actual output data, the first output. There is no difference in data (Y).
  • Fig. 4 there are a total of 3 layers (L1, L2, L3) that affect the algorithm, and a total of 8 parameters (P11, P12, P13, P21, P22, P31, P32) are in each layer. I assume it exists.
  • the feedback is P22.
  • Algorithms can be changed in the direction of decreasing parameters.
  • the feedback is P33.
  • the algorithm to which deep learning is applied through this method may cause the first output data Y to be actually output to be similar to the second sample data Z, which is the most ideal output data.
  • the resolution of the second sample data Z may be the same as or higher than the resolution of the first output data Y, and the resolution of the second sample data Z may be the same as the resolution of the first output data Y. It can be the same.
  • the deep learning process and the number of memory gates must be minimized.
  • the factors that most affect the number of gates are algorithm complexity and clock ( It is the amount of data processed per clock, and the amount of data processed by the processor depends on the input resolution.
  • the processor 220 generates an image with a high magnification by reducing the input resolution in order to reduce the number of gates and then up-scaling it later, so there is an advantage of generating an image faster. do.
  • zoom 2x by upscaling the width and height by 2x each based on a 1/4 area (2Mp).
  • 2Mp an input resolution
  • the horizontal and vertical are respectively upscaled by 4 times based on the generated image. If you zoom 4x with the (Up scailing) method, you can create a zoomed image of the same area as the 2x zoom.
  • deep learning in order to prevent performance degradation due to loss of input resolution, deep learning generates an image by learning by a magnification corresponding to the resolution loss, thereby minimizing performance degradation.
  • the processor 220 applies an algorithm that has already been generated through deep learning, so it can be easily applied to a low-end camera module and various devices including the same. Since high resolution is implemented by using only a line buffer, there is also an effect of implementing a processor with a relatively small chip.
  • FIG. 5 is a block diagram showing some components of the processor 220 according to an embodiment.
  • the processor generates a plurality of line buffers 11 for receiving first Bayer data, and first array data for arranging first Bayer data output through the line buffer for each wavelength band.
  • the first data alignment unit 221 to perform deep learning according to a preset algorithm, the deep learning processor 222 to perform deep learning, and the second array data output through the deep learning processor 222 are arranged in a Bayer pattern and A second data alignment unit 223 for generating 2-bayer data and a plurality of line buffers 12 for outputting second Bayer data output through the second data alignment unit 223 may be included.
  • the first Bayer data is information including the Bayer pattern described above, and is described as Bayer data in FIG. 5, but may be defined as a Bayer image or a Mayer pattern.
  • first data alignment unit 221 and the second data alignment unit 223 are illustrated as separate components for convenience, but are not limited thereto, and the deep learning processor 222 A function performed by the alignment unit 221 and the second data alignment unit 223 may be performed together.
  • the first Bayer data having the first resolution received by the image sensor 110 contains (n+1) line buffers 11a, 11b, and 11n for image information on an area selected by the user. .11n+1) can be transmitted.
  • the Bayer image having the second resolution is generated only for the region selected by the user, image information on the region not selected by the user is not transmitted to the line buffer 11.
  • the first Bayer data includes a plurality of row data
  • the plurality of row data may be transmitted to the first data alignment unit 221 through the plurality of line buffers 11.
  • the area in which deep learning is to be performed by the deep learning processor 222 is a 3 X 3 area
  • a total of 3 lines must be simultaneously transmitted to the first data alignment unit 221 or the processor 220 to deep learning. Can be done. Accordingly, information on the first line of the three lines is transmitted to the first line buffer 11a and then stored in the first line buffer 11a, and the information on the second line of the three lines is transmitted to the second line buffer. After being transmitted to (11b), the second line buffer (11b) may be stored.
  • the third line since there is no information on a line to be received thereafter, it is not stored in the line buffer 11 and may be immediately transmitted to the processor 220 or the first data alignment unit 221.
  • the first data alignment unit 221 or the processor 220 needs to receive information on three lines at the same time, the first line stored in the first line buffer 11a and the second line buffer 11b is The information on the second line and the information on the second line may be simultaneously transmitted to the processor 220 or the first image alignment unit 219.
  • the area in which deep learning is to be performed by the deep learning processor 222 is a (N+1) x (N+1) area
  • a total of (N+1) lines are the first data alignment unit 221 or Deep learning can be performed only when it is simultaneously transmitted to the processor 220. Accordingly, information on the first line of (N+1) lines is transmitted to the first line buffer 11a, and then stored in the first line buffer 11a, and the second line of the (N+1) lines
  • Information on the second line buffer 11b may be stored after being transmitted to the second line buffer 11b, and information on the Nth line among (N+1) lines is the Nth line buffer 11n. After being transmitted to, the N-th line buffer 11n may be stored.
  • the first image alignment unit 219 After receiving Bayer data from the line buffer 11, the first image alignment unit 219 generates first arrangement data by arranging Bayer data by wavelength band, and then converts the generated first arrangement data into a deep learning processor 222 ) Can be sent.
  • the first image aligning unit 219 may generate first array data arranged by classifying the received information into specific wavelengths or specific colors (Red, Green, Blue).
  • the deep learning processor 222 may generate second array data by performing deep learning based on the first array data received through the first image alignment unit 219.
  • performing deep learning may mean a process of generating an algorithm through inference or iterative learning in order to generate an optimal algorithm as described with reference to FIGS. 3 and 4 above, but at the same time, Executing the generated algorithm can also be regarded as performing deep learning.
  • the deep learning processor 222 performs deep learning based on the first array data received through the first image alignment unit 219 to provide second array data having a second resolution higher than the first resolution. Can be created.
  • the first array data is received for the 3 x 3 area
  • deep learning is performed for the 3 x 3 area
  • the first array is for the (n+1) x (n+1) area.
  • deep learning can be performed on the (n+1) x (n+1) region.
  • the second array data generated by the deep learning processor 222 is transmitted to the second data alignment unit 223, and the second data alignment unit 223 converts the second alignment data to a second array having a Bayer pattern. Can be converted to Bayer data.
  • the converted second Bayer data is output to the outside through a plurality of line buffers 12a, and the outputted second Bayer data is converted to an image having a second resolution that is higher than the first resolution by another process. Can be created.
  • FIGS. 6 and 7 are diagrams illustrating a state in which a first Bayer image having a first resolution image is converted into a second Bayer image having a second resolution by the processor 220.
  • the processor 220 may perform an image conversion process for that region, and as a result of the execution, as shown in FIGS. 6 and 7 A Bayer image 40 having a second resolution may be generated.
  • FIG. 8 is a block diagram showing some components of a mobile terminal device 400 according to an embodiment.
  • a mobile terminal device 400 includes a filter 110, a lens 120, an image sensor 130, a transmitter 140, a driver IC 150, and an actuator. It may include an AP 300 including 160, a receiver 210, a processor 220, an output unit 230, and an ISP 310.
  • the image sensor 130, the transmitting unit 140, the receiving unit 210, the processor 220, and the output unit 230 are constituent elements that have the same roles as those described in FIGS. 1 and 2, and thus description thereof will be omitted.
  • the filter 110 serves to selectively block light that is introduced from the outside, and may be generally located above the lens 120.
  • the lens 120 is a device that finely grinds a surface of a transparent material such as glass into a spherical surface to collect or diverge light coming from an object to form an optical image, and a general lens 120 used in the camera module 100 includes a plurality of Lenses having different characteristics may be provided.
  • Driver IC 150 refers to a semiconductor (IC) that provides driving signals and data as electrical signals to the panel so that a character or video image is displayed on the screen, and as will be described later, the driver IC is the mobile terminal device 400. It can be placed in a variety of positions. In addition, the driver IC (150m Driver IC) may drive the actuator 160.
  • IC semiconductor
  • the driver IC 150m Driver IC
  • the actuator may adjust the focus by adjusting the position of the lens or the barrel including the lens.
  • the actuator 160 may be a VCM (Voice Coil Motor) type.
  • the lens 120 may include a variable focus lens.
  • the driver IC may drive the varifocal lens.
  • the lens may include a liquid lens containing a liquid, and in this case, the driver IC may adjust the focus by adjusting the liquid in the liquid lens.
  • An application processor is a mobile memory chip and refers to a core semiconductor that operates various applications and processes graphics in the mobile terminal device 400.
  • the AP 300 can be implemented in the form of a System on Chip (SoC) that includes all the functions of a computer's central processing unit (CPU) and a chipset that controls the connection of other equipment such as memory, hard disk, and graphics card. have.
  • SoC System on Chip
  • the image signal processing unit (ISP) 300 may receive the second Bayer image generated by the processor 220 using Mobile Industry Processor Interface (MIPI) communication and perform an image signal processing process.
  • MIPI Mobile Industry Processor Interface
  • the image signal processing unit 300 may include a plurality of sub-processes while processing the image signal. For example, one or more of a gamma correction, color correction, auto exposure correction, and auto white balance process may be included for the received image.
  • 9 to 11 are block diagrams illustrating various embodiments in which the driver IC 150 and the processor 220 may be disposed inside the mobile terminal device 400.
  • FIGS. 9 to 11 Each of the constituent elements illustrated in FIGS. 9 to 11 has been described in detail above, and thus a position where the driver IC 150 and the processor 220 can be disposed will be mainly described without further description.
  • driver IC 150 and the processor 220 may be independently implemented as separate modules in the camera module 100 as shown in FIG. 7.
  • the processor 220 may be implemented in the form of a chip and included in the image generating unit 200, and the driver IC 150 may be implemented as a separate chip independently from the image generating unit 200 and the processor 220. I can.
  • the image generating unit 200 is illustrated as including a receiving unit 210, a processor 220, and an output unit 230, respectively, but the present invention is not limited thereto, and the image generating unit 200 only includes the processor 220.
  • the processor 220 may simultaneously perform the functions of the receiving unit 210 and the output unit 230 described above.
  • the present technology can be applied by inserting the chip on which the image generating unit 200 is implemented into an existing camera module. Regardless of the structure of the module, there is an effect that can implement this technology.
  • driver IC 150 and the processor 220 may be implemented as a single module in the image generator 200 included in the camera module 100 as shown in FIG. 8.
  • the image generating unit 200 may be implemented as a single chip. In this case, the image generating unit 200 may simultaneously perform the roles of the driver IC 150 and the processor 220.
  • the image generating unit 200 is illustrated as including the receiving unit 210, the processor 220, and the output unit 230, respectively, but the present invention is not limited thereto, and the image generating unit 200 includes the processor 220 and the It includes only the driver IC 150, and the processor 220 may simultaneously perform the functions of the receiving unit 210, the output unit 230, and the driver IC 150 described above.
  • driver IC 150 and the processor 220 are implemented in the form as shown in FIG. 10, it is more economical because the role of the driver IC 150 and the role of the processor 220 can be simultaneously performed using one chip. There is an effect of manufacturing the camera module 100 as a result.
  • the driver IC 150 and the processor 220 as shown in FIG. 9, the driver IC 150 is mounted inside the camera module 100, the processor 220 is the camera module 100 Apart from and may be disposed inside the mobile terminal device 400.
  • the processor 220 may be implemented in the form of a chip and included in the image generating unit 200, and the driver IC 150 is implemented independently of the image generating unit 200 and the processor 220, and the camera module 100 ) Can be placed inside.
  • the image generating unit 200 is illustrated as including the receiving unit 210, the processor 220, and the output unit 230, respectively, but the present invention is not limited thereto, and the image generating unit 200 includes only the processor 220.
  • the processor 220 may simultaneously perform the functions of the receiving unit 210 and the output unit 230 described above.
  • the present technology can be implemented by inserting the chip on which the image generating unit 200 is implemented into an existing camera module. Regardless of the structure of the module, there is an advantage of implementing this technology. In addition, there is an effect of reducing the thickness of the module itself compared to the high image sensor.
  • FIG. 12 is a flowchart illustrating a procedure of an image generating method according to an exemplary embodiment.
  • a first Bayer image having a first resolution may be received from the image sensor 110 (S110).
  • information about the second resolution may be received from the user.
  • information on the second resolution may be received from a user through a separate input device.
  • the second Bayer image may be generated by using an algorithm generated through deep learning to generate a Bayer image having the second resolution set by the user thereafter (S130). , S140)
  • the camera module, the mobile terminal device including the same, and the image generation method according to the embodiment implements high resolution by using only a few line buffers, so that it can be implemented with a relatively small chip.
  • the chip to which this technology is applied can be manufactured in a small size, it can be mounted in various ways in various locations depending on the purpose of use of the mounted device, increasing the degree of design freedom, and the algorithm generated by deep learning There is an advantage in that a high-resolution image can be generated more economically because an expensive processor is not required using a worn processor.
  • this technology can be implemented by mounting a simple chip on the camera module, it is possible to use the continuous zoom function by applying this technology to a camera module without a zoom function or a camera module that supports only fixed zoom for a specific magnification. have.
  • the first Bayer data output using the learned convolutional neural network is input to the image signal processor.
  • An RGB image may be generated by performing demosaic (RGB conversion) of an image signal processor of the AP.
  • the processor for generating the second Bayer data from the first Bayer data may be implemented as a front end of the image signal processor (software logic of an AP, that is, a preprocessing logic of an ISP front end), as a separate chip, or in a camera module.
  • Bayer data which is raw data, has a bit resolution of 10 bits or more, whereas in the case of RGB data that has undergone image processing by ISP, data loss such as Noise/Artifact Reduction and Compression occurs in ISP.
  • RGB data is 8 bits, and the information it contains is considerably reduced.
  • ISP includes nonlinear processing such as tone mapping, making it difficult to process image restoration, but Bayer data has linearity proportional to light, so image restoration can be easily processed. have.
  • the signal-to-noise ratio (PSNR) is also increased by 2 to 4 dB when using the same algorithm compared to using RGB data, which is the use of Bayer data, and through this, multi-frame de-noise or SR performed in the AP It can be treated effectively. That is, by using Bayer data, high-resolution conversion performance can be improved, and since Bayer data is output, additional image processing performance of the AP can also be improved.
  • FIGS. 13 to 18 an image processing apparatus and an image processing method according to a second exemplary embodiment of the present invention will be described with reference to FIGS. 13 to 18.
  • Detailed description of the image processing apparatus and the image processing method according to the second embodiment of the present invention is an imaging process, a camera module, an image generating unit, an imaging device, a mobile terminal device, a camera device, and a method according to the first embodiment of the present invention.
  • the image processing apparatus 1130 includes a camera module 1110 and an AP module 1120, and the AP module 1120 includes a first processing unit 1121 and a second processing unit 1122 Consists of In addition, one or more processors may be further included, or one or more memories or communication units may be further included.
  • the image processing device 1130 refers to a device including a function of processing an image, and may mean any one of electronic devices, such as a mobile terminal including an image processing module to an image processing unit.
  • the camera module 1110 includes an image sensor.
  • the camera module 1110 outputs Bayer data of the first resolution from the image sensor.
  • the camera module 1110 may include a lens 1111, an image sensor 1112, a sensor board 1113 on which an image sensor 1112 is mounted, and a connector 1114 that transmits and receives data to and from the outside. have.
  • the above components may be formed as one module. That is, it is an independent device that is distinguished from components other than the camera module, and may be implemented in a form of transmitting and receiving data with other modules.
  • the lens 1120 is a device that finely grinds a surface of a transparent material such as glass into a spherical surface to collect or diverge light coming from an object to form an optical image, and a general lens 1111 used in the camera module 1110 is Lenses having different characteristics may be provided. A filter may be formed on the lens 1111 to selectively block light introduced from the outside.
  • the image sensor 1112 may include an image sensor such as a Complementary Metal Oxide Semiconductor (CMOS) or a Charge Coupled Device (CCD) that converts light entering through a lens of a camera module into an electrical signal.
  • CMOS Complementary Metal Oxide Semiconductor
  • CCD Charge Coupled Device
  • the image sensor 1112 may generate Bayer data including Bayer pattern information through a color filter on the acquired image. Bayer data may have a first resolution according to a specification of the image sensor 1112 or a zoom magnification set when a corresponding image is generated.
  • the image sensor 1112 may be formed on the sensor board 1113.
  • the lens 1111 may also be formed on the sensor board 1113.
  • the optical signal transmitted through the lens 1111 may be converted into an electric signal through each pixel disposed in the image sensor 1112 capable of detecting R, G, and B colors.
  • the specification of the camera module 1110 is 5 million pixels, it can be considered that an image sensor 1112 including 5 million pixels capable of detecting R, G, and B colors is included.
  • the number of pixels is 5 million, a monochromatic pixel that does not actually detect each color, but only detects the brightness of black and white, can be viewed in a form combined with any one of R, G, and B filters. That is, in the image sensor 1112, R, G, and B color filters are arranged in a specific pattern on monochrome pixel cells arranged by the number of pixels.
  • R, G, and B color patterns are intersected and arranged according to the visual characteristics of the user (ie, human), which is called a Bayer pattern.
  • the Bayer pattern has a smaller amount of data than image data. Therefore, even in a device equipped with the camera module 1110 that does not have a high-end processor, it is possible to transmit and receive Bayer pattern image information relatively faster than image data, and convert it into images of various resolutions based on this. There is an advantage that can be done.
  • the camera module 1110 is mounted on a vehicle, so that the camera module 1110 performs image processing even within an environment in which a low voltage differential signaling method (LVDS) having a full-duplex transmission rate of 100 Mbit/s is used.
  • LVDS low voltage differential signaling method
  • it since it does not require a lot of processors, there is no overload, so it may not be harmful to the driver or the driver's safety.
  • it is possible to reduce the size of the data transmitted by the communication network in the vehicle, so even if it is applied to an autonomous vehicle, it is possible to eliminate problems caused by the communication method and communication speed caused by the operation of a plurality of cameras arranged in the vehicle exist.
  • the image sensor 1112 may transmit data after down-sampling the Bayer pattern type frame to a size of 1/n. Downsampling may be performed after smoothing through a Gaussian filter or the like on data of a Bayer pattern received before downsampling. Thereafter, after generating a frame packet based on the down-sampled image data, the completed frame packet may be transmitted to the first processing unit 1121. However, this function may be performed by the first processing unit 1121 instead of the image sensor.
  • the image sensor 1112 may include a serializer (not shown) that converts Bayer patterns into serial data in order to transmit Bayer data in a serial communication method such as a low voltage differential signaling method (LVDS).
  • the serializer may include or be implemented with a buffer that temporarily stores data and a phase-locked loop (PLL) that forms a period of transmitted data.
  • PLL phase-locked loop
  • the connector 1114 outputs data generated by the camera module 1110 to the outside or receives data from the outside.
  • the connector 1114 may be formed as a communication unit, and may be formed as a communication line or a data line.
  • the connector 1114 may transmit Bayer data generated and output by the image sensor 1112 to the first processing unit 1121.
  • the connector 1114 formed of a line connected to the outside may be implemented as a Mobile Industry Processor Interface (MIPI).
  • MIPI is an interface between each component constituting a mobile device, and includes a display serial interface (DSI) and a camera serial interface (CSI) as interfaces with enhanced reusability and compatibility.
  • DSI display serial interface
  • CSI camera serial interface
  • the connector 1114 of the camera module 1110 may be implemented with CSI.
  • the camera module 1110 may further include a driver IC and an actuator.
  • Driver IC refers to a semiconductor (IC) that provides driving signals and data to a panel as electric signals to display text or video images on a screen, and may be disposed at various locations of a mobile terminal device. Also, the driver IC can drive the actuator.
  • the actuator may adjust the focus by adjusting the position of the lens or the barrel including the lens.
  • the actuator may be a VCM (Voice Coil Motor) type.
  • the lens may include a variable focus lens.
  • the driver IC may drive the varifocal lens.
  • the lens may include a liquid lens containing a liquid, and in this case, the driver IC may adjust the focus by adjusting the liquid in the liquid lens.
  • the AP module 1120 receives first output data output from the camera module 1110.
  • the AP module 1120 receives first Bayer data output from the image sensor 1112 from the camera module 1110.
  • the AP Application Processor 120
  • the AP is a mobile memory chip, and when the image processing device 1130 is a mobile device, it refers to a core semiconductor that operates various applications and processes graphics in the mobile device.
  • the AP module 1120 will be implemented in the form of a System on Chip (SoC) that includes all the functions of the computer's central processing unit (CPU) and the functions of a chipset that controls the connection of other equipment such as memory, hard disk, and graphics card. I can.
  • SoC System on Chip
  • the AP module 1120 includes a first processing unit 1121 and a second processing unit 1122.
  • the first processing unit 1121 generates second Bayer data having a second resolution by using the first Bayer data having a first resolution.
  • the first processing unit 1121 increases the resolution of Bayer data, which is image data generated and output by the image sensor 1112. That is, the second Bayer data of the second resolution is generated from the first Bayer data of the first resolution.
  • the second resolution means a resolution having a resolution value different from the first resolution, and the second resolution may be higher than the first resolution.
  • the first resolution may be the resolution of Bayer data output from the camera module 1110, and the second resolution may be changed according to a user's setting or may be a preset resolution.
  • the image sensor 1112 may be an RGB image sensor.
  • the image processing apparatus 1130 may further include an input unit (not shown) that receives information on resolution from a user.
  • the user may input information on the second resolution to be generated by the first processing unit 1121 through the input unit.
  • the second resolution can be set to a resolution that is different from the first resolution, and if a new image is to be acquired within a relatively short time, the difference from the first resolution is The second resolution can be set to a resolution that is not much.
  • the first processing unit 1121 may generate second Bayer data having a second resolution from first Bayer data having a first resolution in order to perform a super resolution (SR).
  • Super resolution is a process of generating a high-resolution image based on a low-resolution image. It functions as a digital zoom that generates a high-resolution image from a low-resolution image through image processing rather than a physical optical zoom. Super resolution may be used to improve the quality of a compressed or down-sampled image, or may be used to improve the quality of an image of resolution according to device limitations. In addition, it can be used to increase the resolution of images in various fields.
  • Bayer data is raw data generated and output by the image sensor 1112 and includes more information than an RGB image generated by performing image processing.
  • RGB data in 10-bit or more, but it is currently applied only to displays, and when using existing RGB data, each channel has 8-bit data. In addition, information may be lost due to demosaic performed at the ISP level.
  • Bayer data has 10-bit data in the unprocessed format currently used in mobile. Bayer data in 12-bit or 14-bit format is also possible. As described above, in the case of using Bayer data, since the amount of input information to be used for super resolution increases compared to RGB data, increasing the resolution using Bayer data has superior processing quality compared to increasing the resolution using an RGB image.
  • the first processing unit 1121 may increase the resolution of IR data as well as Bayer data.
  • IR data of a fourth resolution may be generated using IR data of a third resolution generated by the ToF sensor and output from the camera module 1110.
  • the third resolution may be a resolution of IR data output from the ToF sensor 1120, and the fourth resolution may be changed according to a user's setting or may be a preset resolution.
  • the fourth resolution may be a resolution having the same resolution value as the second resolution.
  • the fourth resolution of the IR data is equal to the second Bayer data so that the size of the IR image and the RGB image, that is, the resolution are the same.
  • the branch can generate IR data to be the same as the second resolution.
  • the second processing unit 1122 performs image processing by receiving second output data output from the first processing unit 1121.
  • the second processing unit 1122 generates an image by performing image signal processing (ISP) on the second output data output from the first processing unit 1121.
  • the second processing unit 1122 may be an image signal processor (ISP).
  • the second output data output from the first processing unit 1121 may be received using MIPI (Mobile Industry Processor Interface) communication, and an image signal processing process may be performed.
  • MIPI Mobile Industry Processor Interface
  • the second processor 1122 may generate an RGB image from the second Bayer data.
  • the second processing unit 1122 may perform a plurality of sub-processes while processing the image signal. For example, any one or more of a gamma correction, color correction, auto exposure correction, and auto white balance process may be performed on the received image. .
  • the second processing unit 1122 is the RGB image generated from Bayer data, which is the second output data of the first processing unit 1121, and IR data.
  • an RGB image with improved image quality can be generated.
  • An RGB image generated only with Bayer data in a low-light environment has low brightness or severe noise, resulting in a lot of deterioration in image quality.
  • an IR image may be used. That is, by calculating the RGB image and the IR image, the second RGB image with improved image quality may be generated.
  • the camera module 1110 including the RGB image sensor and the ToF image sensor, it is possible to improve the low-light intensity of the RGB image by using high-resolution IR data as well as a zoom function that increases the resolution of each data.
  • Bayer data or IR data may generate a high-resolution RGB image, a high-resolution IR image, and a high-resolution depth image through a process of increasing the resolution.
  • a processing unit that processes IR data in high resolution is suitable to be implemented in a chip form.
  • the process of increasing the resolution of IR data may use a chip of the first processing unit 1121 that increases the resolution of Bayer data. It is only necessary to switch the learned weight values to increase the resolution of IR data while using a part of the first processing unit 1121 chip. If the RGB image in low-light conditions is improved by using the IR image with improved resolution in this way, a higher improvement effect can be obtained, and various applications (e.g. face recognition, object recognition, size) through depth image and fusion Recognition, etc.), the recognition rate is improved.
  • the first processing unit 1121 may generate the second Bayer data from the first Bayer data.
  • the meaning of performing deep learning means generating the second Bayer data using a convolutional neural network derived through deep learning.
  • the second Bayer data may be generated from the first Bayer data by using an algorithm that increases resolution other than deep learning. It is natural that various algorithms used in Super Resolution (SR) can be used. The process of increasing the resolution of the first output data by the first processing unit 1121 will be described in detail later with reference to FIGS. 18 and 3 to 7.
  • the first processing unit 1121 may be implemented in a chip form separate from the second processing unit 1122.
  • the first processing unit 1121 for generating second Bayer data from the first Bayer data and the second processing unit 1122 for performing image signal processing may be implemented as separate chips.
  • the camera module 1110 may be a camera device included in the mobile device, and an AP module 1120 processing various applications of the mobile device is formed.
  • the first processing unit 1121 may be implemented in the form of a separate chip separated from the second processing unit 1122, which is an ISP processor, on the AP module.
  • Bayer data which is first output data generated and output by the camera module 1110, may be raw raw data, and in this case, Bayer data may be represented as Bayer raw data.
  • Bayer data is received by the first processing unit 1121 formed in a chip form on the AP module through MIPI communication.
  • the first processing unit 1121 generates second Bayer data from the first Bayer data using a convolutional neural network learned by performing deep learning.
  • the first processing unit 1121 may be referred to as a deep learning network chip. Since the first processing unit 1121 receives and processes the low-resolution Bayer row data, it is not necessary to take into account the MIPI bandwidth or additional work on a control signal separate from the camera module. Therefore, existing devices can be used as they are, so that the compatibility is high and the degree of freedom in design is increased.
  • the first processing unit 1121 generates second Bayer data using the first Bayer data, and the second output data output from the first processing unit 1121 is received by the second processing unit 1122 to perform image signal processing. To create an image.
  • the first processing unit 1121 may be implemented in the form of an IP block separated from the second processing unit on the AP module.
  • IP (intellectual property) block refers to a reusable logic unit, cell, or chip layout design, and refers to a block considered as intellectual property of a specific party.
  • the IP block may be an IP core.
  • IP blocks are used as building blocks within IC designs by parties with licensed and/or owned intellectual property (e.g., patents, source code copyrights, trade secrets, know-how, etc.) present in the design. I can.
  • the IP block is a design block that can be applied to a corresponding chip for designing a chip such as an AP module, and chip design can be facilitated by using an IP block. By using multiple IP blocks, it is possible to design a chip like an SoC.
  • the AP module includes IP blocks of various applications that perform functions in the mobile device.
  • LTE modem Graphic Processing Unit (GPU), Wi-Fi, Display Processing Unit (DPU), Video Processing Unit (VPU), Digital Signal Processor (DSP), Hexagon Vector eXtensions (HVX), All-Ways Aware, Audio, Central A Camera Image Signal corresponding to the IP block of an application that performs functions necessary for a mobile device, such as a Processing Unit (CPU), location, and security, and a second processing unit 1122 that performs image signal processing on image signals received from the camera device. It may include a Processor (ISP).
  • ISP Processor
  • the first processing unit 1121 and the second processing unit 1122 may be implemented as an IP block of an AP module.
  • the second processing unit 1122 may be an image signal processing (ISP) IP block.
  • the first processing unit 1121 for generating second Bayer data from the first Bayer data may be configured as an IP block and added to an existing chip of the AP module.
  • the IP block of the first processing unit 1121 may be formed to be distinguished from the image signal processing IP block that is the second processing unit.
  • the first processing unit 1121 When the first processing unit 1121 is formed in the form of an IP block separated from the second processing unit on the AP module, Bayer data, which is the first output data output from the camera module 1110, is The first processing unit 1121 formed of an IP block receives it. Thereafter, the first processing unit 1121 IP block generates second Bayer data using the first Bayer data, and the second output data output from the first processing unit 1121 IP block is the second processing unit 1122 IP block. It receives and performs image signal processing to generate an image.
  • the first processing unit 1121 includes a deep learning network (Deep Learning Network, 121-1) that generates Bayer data of a second resolution from first Bayer data of a first resolution, as shown in FIG.
  • a Bayer parameter 1121-2 which is a deep learning parameter used to generate Bayer data of a second resolution, from the first Bayer data may be stored.
  • the deep learning parameter 1121-2 may be stored in a memory.
  • the first processing unit 1121 may be implemented in the form of a chip to generate second Bayer data from the first Bayer data.
  • the first processing unit 1121 may include one or more processors, and at least one program command executed through the processor may be stored in one or more memories.
  • the memory may include volatile memory such as S-RAM and D-lap.
  • the present invention is not limited thereto, and in some cases, the memory 1115 may be a flash memory, a ROM (Read Only Memory), an Erasable Programmable Read Only Memory (EPROM), or an Electrically Erasable Programmable Read Only Memory (EPROM). It may also include nonvolatile memory such as.
  • a typical camera device or camera module 1110 outputs image-type data through a process (color interpolation process, color interpolation or demosaic) that receives Bayer patterns from an image sensor and coats colors. ) It is possible to extract information including information and transmit data including the extracted information to the outside.
  • the Bayer pattern may include raw data output by an image sensor that converts an optical signal included in the camera device or camera module 1110 into an electrical signal.
  • the deep learning algorithm (model) applied to the first processing unit 1121 is an algorithm that generates image data with a resolution higher than the resolution of the input image data, and repeatedly performs learning through deep learning training. It can mean the generated optimal algorithm.
  • Deep learning sometimes expressed as deep learning, is machine learning that attempts to achieve a high level of abstraction (summarizing key contents or functions in a large amount of data or complex data) through a combination of several nonlinear transformation methods. It refers to a set of algorithms for (machine learning).
  • deep learning is a model for representing training data in a form that a computer can understand (for example, in the case of images, pixel information is expressed as a column vector) and applied to learning.
  • a learning technique that derives can include learning techniques such as Deep Neural Networks (DNN) and Deep Belief Networks (DBN). .
  • DNN Deep Neural Networks
  • DBN Deep Belief Networks
  • the first processing unit 1121 generates second Bayer data from the first Bayer data.
  • the deep learning model of FIG. 3 may be used.
  • the deep learning model of FIG. 3 is a deep learning model to which a deep neural network (DNN) algorithm is applied, and is a diagram illustrating a process of generating data of a new resolution according to the application of the DNN algorithm.
  • DNN deep neural network
  • a deep neural network is a deep neural network in which multiple hidden layers exist between an input layer and an output layer, and a connection pattern between neurons similar to the structure of an animal's visual cortex. It can be embodied as a convolutional neural network that forms a convolutional neural network and a recurrent neural network that builds up the neural network every moment over time.
  • DNN classifies neural networks by reducing and distorting the amount of data by repeating convolution and sub-sampling.
  • DNN outputs classification results through feature extraction and classification behavior, mainly used to analyze images, and convolution means image filtering.
  • the first processing unit 1121 to which the DNN algorithm is applied performs deep learning.
  • the first processing unit 1121 is intended to increase the magnification based on Bayer data 110 of the first resolution. Convolution and sub-sampling are performed on the region.
  • Increasing the magnification means expanding only a specific portion of the first Bayer data. Accordingly, since a portion not selected by the user is a portion that the user is not interested in, there is no need to perform a process of increasing the resolution, and thus the convolution and sub-sampling process can be performed only on the portion selected by the user. Through this, by not performing unnecessary operations, it is possible to reduce the amount of calculations and thus increase the processing speed.
  • Sub-sampling refers to the process of reducing the size of an image. At this time, the sub-sampling may use a Max Pool method or the like. Max-Pull is a technique that selects the maximum in a given area, similar to how neurons respond to the largest signal. Sub-sampling has the advantage of reducing noise and increasing the speed of learning.
  • a plurality of image data 120 may be output as shown in FIG. 3.
  • the plurality of image data 120 may be a feature map.
  • a plurality of image data having different characteristics may be output using an up-scale method based on the plurality of image data.
  • the up-scale method means that the image is scaled up by r*r times by using different r ⁇ 2 filters.
  • the first processing unit 1121 When a plurality of image data according to the upscale is output as shown in FIG. 3 (130), the first processing unit 1121 recombines based on these image data, and finally, second Bayer data 140 of a second resolution. ) Can be printed.
  • a deep learning parameter used by the first processing unit 1121 to perform deep learning to generate second Bayer data from the first Bayer data may be derived through deep learning training.
  • Deep learning can be divided into training and inference.
  • Training refers to a process of learning a deep learning model through input data
  • Inference refers to a process of performing image processing and the like with the learned deep learning model. That is, the image is processed using a deep learning model to which parameters of a deep learning model derived through training are applied.
  • a first deep learning parameter required for Bayer data processing must be derived through training.
  • an inference for generating second Bayer data from the first Bayer data may be performed by performing deep learning using a deep learning model to which the corresponding Bayer parameter is applied. Therefore, a training process for deriving parameters for performing deep learning must be performed.
  • the deep learning training process may be performed through repetitive learning as shown in FIG. 4. After receiving the first sample data X and the second sample data Z having different resolutions, deep learning training may be performed based on the input.
  • a higher resolution based on a parameter generated by comparing and analyzing the first output data (Y) and the second sample data (Z) that performed deep learning training using the first sample data (X) as input data. You can create an algorithm that generates Bayer data.
  • the first output data (Y) is data output by performing real deep learning
  • the second sample data (Z) is data input by the user.
  • the most It may mean data that can be output ideally.
  • the first sample data X may be data obtained by down-sampling the second sample data Z to reduce the resolution.
  • the degree of downsampling may vary according to a ratio to be enlarged through deep learning, that is, a zoom ratio to perform digital zoom. For example, if the zoom ratio to be performed through deep learning is 3 times and the resolution of the second sample data Z is 9 MP (Mega Pixel), the resolution of the first sampling data X must be 1 MP, and deep learning is performed. As a result, the resolution becomes 9MP of the first output data (Y) whose resolution is increased by 3 times, and the second sample data (Z) of 9M is down-sampled to 1/9 to generate 1MP of first sample data (Y). I can.
  • the difference between the two data is calculated by comparing and analyzing the first output data Y and the second sample data Z output through deep learning execution according to the input of the first sample data X, and the difference between the two data. It is possible to give feedback to the parameters of the deep learning model in the direction of reducing.
  • the difference between the two data may be calculated through a mean squared error (MSE) method, which is one of the loss functions.
  • MSE mean squared error
  • various loss functions such as CEE (Cross Entropy Error) can be used.
  • the second sample data (Z) and the first output data (Y), which are actual output data are provided by giving feedback by changing or deleting the parameter or creating a new parameter. Can make no difference.
  • the algorithm to which deep learning is applied through this method may derive parameters such that the first output data Y is output similarly to the second sample data Z.
  • the resolution of the second sample data (Z) may be the same as or higher than the resolution of the first output data (Y), and the resolution of the second sample data (Z) may be the same as the resolution of the first output data (Y). I can.
  • the output result and the comparison object exist, and training may be performed using a compensation value as well as a case in which learning is performed through comparison with the comparison object.
  • the surrounding environment may be first recognized and the current environment state may be transmitted to a processor that performs deep learning training.
  • the processor performs the corresponding action, and the environment again informs the processor of the reward for the action. And the processor chooses the action that maximizes the reward.
  • Training can be performed by repeatedly performing learning through this process.
  • deep learning training can be performed using various deep learning training methods.
  • the deep learning process and the number of memory gates must be minimized.
  • the factors that most affect the number of gates are algorithm complexity and clock ( It is the amount of data processed per clock, and the amount of data processed by the processor depends on the input resolution.
  • the processor 1220 generates an image with a high magnification by reducing the input resolution in order to reduce the number of gates and then upscaling it later, so there is an advantage of generating an image faster. do.
  • zoom 2x by upscaling the width and height by 2x each based on a 1/4 area (2Mp).
  • 2Mp an input resolution
  • the horizontal and vertical are respectively upscaled by 4 times based on the generated image. If you zoom 4x with the (Up scailing) method, you can create a zoomed image of the same area as the 2x zoom.
  • the first processing unit 1121 since the first processing unit 1121 according to the second embodiment of the present invention applies an algorithm that has already been generated through deep learning, it can be easily applied to a low-end camera module and various devices including the same. In application to this, since high resolution is implemented by using only a few line buffers, there is also an effect of implementing a processor with a relatively small chip.
  • the first processing unit 1121 includes at least one line buffer that stores the first bait data for each line, and when a predetermined number of first Bayer data is stored in the line buffer, the first bayer stored in the line buffer Second Bayer data may be generated for data.
  • the first processing unit 1121 divides and receives the first Bayer data for each line, and stores the first Bayer data received for each line in a line buffer. After receiving the first Bayer data of all lines, the first processing unit 1121 does not generate the second Bayer data, and when the first Bayer data of a certain number of lines is stored, the first Bayer data stored in the line buffer is stored.
  • the second Bayer data may be generated.
  • the first processing unit 121 generates a plurality of line buffers 11 for receiving first Bayer data, and first array data for arranging first Bayer data output through the line buffer for each wavelength band.
  • the first data alignment unit 221 that performs deep learning, the deep learning processor 222 that performs deep learning, the second array data output through the deep learning processor 222 is arranged in a Bayer pattern to generate second Bayer data. 2 It may include a plurality of line buffers 12 for outputting second Bayer data output through the data alignment unit 223 and the second data alignment unit 223.
  • the first Bayer data is information including the Bayer pattern described above, and is described as Bayer data in FIG. 5, but may be defined as a Bayer image or a Bayer pattern.
  • first data alignment unit 221 and the second data alignment unit 223 are illustrated as separate components for convenience, but are not limited thereto, and the deep learning processor 222 will first align the data to be described later.
  • a function performed by the unit 221 and the second data alignment unit 223 may be performed.
  • the first Bayer data having a first resolution may transmit image information on a region selected by a user to (n+1) line buffers 11a, 11b, ⁇ 11n. 11n+1). .
  • image information for the region not selected by the user is not transmitted to the line buffer 11.
  • the first Bayer data includes a plurality of row data
  • the plurality of row data may be transmitted to the first data alignment unit 221 through the plurality of line buffers 11.
  • the area in which deep learning is to be performed by the deep learning processor 222 is a 3 X 3 area
  • a total of 3 lines must be simultaneously transmitted to the first data alignment unit 221 or the deep learning processor 222. You can run. Accordingly, information on the first line of the three lines is transmitted to the first line buffer 11a and then stored in the first line buffer 11a, and information on the second line of the three lines is transmitted to the second line buffer. After being transmitted to (11b), the second line buffer (11b) may be stored.
  • the third line since there is no information on a line to be received thereafter, it is not stored in the line buffer 11 and may be immediately transmitted to the deep learning processor 222 or the first data alignment unit 221.
  • the first line buffer 11a and the second line buffer 11b Information on the line and information on the second line may be simultaneously transmitted to the deep learning processor 222 or the first image alignment unit 219.
  • the area in which deep learning is to be performed by the deep learning processor 222 is a (N+1) x (N+1) area
  • a total of (N+1) lines are the first data alignment unit 221 or Deep learning can be performed only when it is simultaneously transmitted to the deep learning processor 222. Accordingly, information on the first line among (N+1) lines is transmitted to the first line buffer 11a, and then stored in the first line buffer 11a, and the second line among (N+1) lines
  • Information on the second line buffer 11b may be stored after being transmitted to the second line buffer 11b, and information on the N-th line among (N+1) lines is the N-th line buffer 11n After being transmitted to, the Nth line buffer 11n may be stored.
  • the first data alignment unit 221 or the deep learning processor 222 since the first data alignment unit 221 or the deep learning processor 222 must simultaneously receive information on N+1 lines, the first data stored in the line buffers 11a to 11n. Information on the nth line to the nth line may also be simultaneously transmitted to the deep learning processor 222 or the first image alignment unit 219.
  • the first image alignment unit 219 After receiving Bayer data from the line buffer 11, the first image alignment unit 219 generates first alignment data by arranging Bayer data by wavelength band, and then converts the generated first alignment data into a deep learning processor 222 ) Can be sent.
  • the first image alignment unit 219 may generate first array data arranged by classifying the received information into specific wavelengths or specific colors (Red, Green, Blue).
  • the deep learning processor 222 may generate second array data by performing deep learning based on the first array data received through the first image alignment unit 219.
  • the deep learning processor 222 performs deep learning based on the first array data received through the first image alignment unit 219 to generate second array data of a second resolution higher than the first resolution. can do.
  • deep learning is performed for the 3 x 3 area, and the first array for the (n+1) x (n+1) area
  • deep learning can be performed on the (n+1) x (n+1) region.
  • the second alignment data generated by the deep learning processor 222 is transmitted to the second data alignment unit 223, and the second data alignment unit 223 converts the second alignment data to a second alignment data having a Bayer pattern. Can be converted to Bayer data.
  • the converted second Bayer data is output to the outside through a plurality of line buffers 12a, and the output second Bayer data is Bayer data having a second resolution that is higher than the first resolution by another process.
  • FIGS. 6 and 7 are diagrams illustrating an image in which an image of first Bayer data having a first resolution is converted into second Bayer data having a second resolution by the first processing unit 1121.
  • the first processing unit 1121 converts the resolution for the region, and as a result, as shown in FIGS. 6 and 7, Bayer data 40 may be generated.
  • the first processing unit 1121 may pre-process the second Bayer data.
  • the first processing unit 1121 may generate second Bayer data having a second resolution by using the first Bayer data having a first resolution, and perform preprocessing on the generated second Bayer data.
  • the first processing unit 1121 is at least one of white balance, de-nosing, de-focus, de-blur, and di-mosaic. You can do the above.
  • various pretreatments corresponding to pretreatment may be performed.
  • the amount of computation of the second processing unit 1122 can be reduced by performing not only a super resolution that increases the resolution of Bayer data in the first processing unit 1121 but also pre-processing an image that can be processed by the second processing unit 1122. That is, the first processing unit 1121 performs the pre-processing function of the second processing unit 1122 and shares the functions, thereby reducing the burden on the ISP.
  • the first processing unit 1121 may further include a pre-processing unit that performs pre-processing.
  • the first processing unit 1121 may pre-process the second Bayer data using a convolutional neural network learned by performing deep learning. If there is a preprocessing process that can be processed using the same deep learning network as the process of increasing the resolution of Bayer data among the preprocessing process performed by the first processing unit 1121, the deep learning parameters for the preprocessing process are stored, and the corresponding Preprocessing can be performed using deep learning parameters. It may also include a separate deep learning network for one or more pre-processing processes and a memory for storing corresponding deep learning parameters.
  • the first processing unit 1121 may generate an RGB image or a ycbcr image by preprocessing the second bait data.
  • the preprocessed third Bayer data may be generated by performing preprocessing on the second Bayer data having the second resolution, or further, an RGB image or a ycbcr image converted from the RGB image may be generated through preprocessing.
  • the first processing unit 1121 performs a plurality of pre-processing processes, but may output various data according to the performed pre-processing process. That is, it is possible to generate third Bayer data before the RGB image from the second Bayer data.
  • the third Bayer data is not an RGB image, but third Bayer data, which is Bayer data on which white balance has been performed, may be generated through preprocessing such as white balance.
  • an RGB image may be generated by performing preprocessing for generating an RGB image on the second Bayer data.
  • a ycbcr image may be generated through ycbcr conversion of the RGB image generated as described above.
  • the ycbcr image can be displayed directly on the display.
  • the pre-processing process performed by the first processing unit 1121 may vary according to a user's setting, a use environment, or a working state of the ISP, which is the second processing unit 1122.
  • the first processing unit 1121 performs pre-processing and shares the function of the ISP, which is the second processing unit 1122, and which pre-processing process is performed by the first processing unit 1121 may be set according to a user's setting.
  • the first processing unit 1121 may set which preprocessing process to be performed. This may receive environment information from one or more processors to determine a preprocessing setting value in the first processing unit 1121.
  • setting values according to environment information, etc. may be stored in a lookup table LUT, and the setting values for performing preprocessing in the first processing unit 1121 may be applied.
  • the image processing apparatus 2100 may include a camera module 2110, a Bayer data processing module 2120, and an AP module 2130, as shown in FIG. 19.
  • the first processing unit 1121 of the image processing apparatus 1130 of FIG. 13 or 16 may be configured as a Bayer data processing module 2120 that is a separate module other than the AP module. Except for implementing the Bayer data processing module 2120 as a separate module from the AP module 2130, the image processing process performed by the image processing apparatus 2100 of FIG. 19 is performed by the image processing apparatus 1130 of FIG.
  • descriptions of the image processing apparatus 2100 of FIG. 19 that overlap with the image processing process performed by the image processing apparatus 1130 of FIG. 13 will be omitted and briefly described below.
  • the camera module 2110 includes an image sensor, and the Bayer data processing module 2120 generates second Bayer data of a second resolution using first Bayer data of a first resolution output from the camera module 2110. .
  • the Bayer data processing module 2120 may be implemented in the form of a separate chip separated from the AP module 2130.
  • the Bayer data processing module 2120 may generate the second Bayer data from the first Bayer data, and the Bayer data processing module 2120 may include a preprocessor for preprocessing the second Bayer data.
  • the preprocessor may generate any one of third Bayer data, RGB image, or ycbcr image by preprocessing the second Bayer data.
  • the AP module 2130 performs image processing by receiving output data output from the Bayer data processing module 2120.
  • An image processing apparatus includes a first processing unit that generates second Bayer data of a second resolution by using first Bayer data of a first resolution, wherein the first processing unit is It may be formed to be separated from the formed image signal processing unit.
  • the first processing unit 1121 is a configuration corresponding to the first processing unit 1121 of the image processing apparatus 1130 of FIG. 13 or 16, and the Bayer data processing module 2120 of the image processing apparatus 2100 of FIG. 19
  • the image processing apparatus according to another embodiment of the present invention may include a first processing unit, and the first processing unit may generate the second Bayer data from the first Bayer data, and the second Bayer data It may include a pre-treatment unit for pre-processing.
  • the preprocessor may generate any one of third Bayer data, RGB image, or ycbcr image by preprocessing the second Bayer data.
  • FIG. 20 is a flowchart of an image processing method according to a second embodiment of the present invention
  • FIG. 21 is a flowchart of an image processing method according to another embodiment of the present invention.
  • a detailed description of each step of FIGS. 20 to 21 corresponds to a detailed description of the image processing apparatus of FIGS. 13 to 19, and redundant descriptions will be omitted below.
  • An image processing method relates to a method of processing an image in an image processing apparatus including one or more processors.
  • step S11 first Bayer data having a first resolution is received, and second Bayer data having a second resolution is generated in step S13 using a convolutional neural network learned by performing deep learning in step S12.
  • step S13 it is possible to perform pre-processing on the second Bayer data in step S21, and after performing the pre-processing, the step of generating any one of the third Bayer data, RGB image, or ycbcr image in step S22. I can. Thereafter, the step of generating an image that can be output to the display through image signal processing may be further included.
  • Modifications according to the present embodiment may include some configurations of the first embodiment described with reference to FIGS. 1 to 12 and some configurations of the second embodiment described with reference to FIGS. 13 to 21. That is, modified examples include the embodiments described with reference to FIGS. 1 to 12, but some configurations of the embodiments described with reference to FIGS. 1 to 12 are omitted, and some configurations of the embodiments described with reference to corresponding FIGS. 13 to 21 It may include. Alternatively, the modified example may include some configurations of the embodiments described with reference to the corresponding FIGS. 1 to 12, and some configurations of the embodiments described with reference to FIGS. 13 to 21 are omitted.
  • the embodiments of the present invention can be implemented as computer-readable codes on a computer-readable recording medium.
  • the computer-readable recording medium includes all types of recording devices that store data that can be read by a computer system.
  • Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tapes, floppy disks, optical data storage devices, and the like.
  • computer-readable recording media are distributed across networked computer systems. In a distributed manner, computer-readable code can be stored and executed.
  • functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the technical field to which the present invention belongs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)
  • Color Television Image Signal Generators (AREA)

Abstract

일 실시예에 따른 카메라 장치는 제1 해상도를 가지는 제1 베이어 데이터를 생성하는 이미지 센서 및 상기 제1 베이어 데이터를 이용하여 제2 해상도를 가지는 제2 베이어 데이터를 출력하는 프로세서를 포함할 수 있다.

Description

카메라 장치 및 카메라 장치의 이미지 생성 방법
본 발명은 카메라 모듈 및 이를 포함하는 이동 단말장치, 이미지 생성 방법에 관한 발명으로서, 보다 구체적으로 심층 학습(Deep Learning) 알고리즘을 이용하여 저해상도의 이미지를 고해상도의 이미지로 생성하는 기술에 관한 발명이다.
기술이 발전함에 따라 카메라 모듈의 소형화가 가능해지자, 소형 카메라 모듈은 스마트폰을 비롯한 휴대폰이나 PDA 등 다양한 IT 기기에 적용되어 사용되고 있다. 이러한 카메라 모듈은 CCD나 CMOS 등의 이미지 센서를 주요 부품으로 제작되고 있으며, 화상의 크기를 조절하기 위하여 초점 조정이 가능하도록 제조되고 있다.
이러한 카메라 모듈은 복수의 렌즈와 액추에이터(Actuator)를 포함하여 구성이 되며, 액추에이터가 각각의 렌즈를 이동시켜 그 상대적인 거리를 변화시킴으로써 광학적인 초점 거리가 조절되는 방식으로 대상체에 대한 물체를 촬영할 수 있다.
구체적으로 카메라 모듈은 외부에선 수신한 광 신호를 전기 신호로 변환하는 이미지 센서와 이미지 센서로 광을 집광시키는 렌즈와 IR(Infrared) 필터, 이들을 내부에 포함하는 하우징 및 이미지 센서의 신호를 처리하는 인쇄회로기판을 등을 포함하고 있으며, 액추에이터는 VCM(Voice Coil Motor) 액추에이터 또는 MEMS(Micro Electromechanical Systems) 액추에이터 등의 액추에이터에 의해 렌즈의 초점 거리가 조절된다.
한편, 기술이 발전에 의해 해상도가 높은 이미지의 구현이 가능해짐에 따라, 멀리 있는 대상체를 촬영한 이미지를 고해상도로 구현할 수 있는 기술에 대한 요구 또한 늘어나고 있다.
일반적으로 카메라는 멀리 있는 대상체를 촬영하기 위해 줌(Zoom) 기능이 탑재되어 있는데, 줌 기능은 크게 카메라 내부의 실제 렌즈가 이동하여 대상체를 확대하는 광학줌과, 대상체를 촬영한 화상 데이터의 일부 화면을 디지털 처리 방식으로 확대 표시하여 줌 효과를 얻는 디지털 줌 방식으로 나뉘어진다.
렌즈의 이동을 이용하여 대상체에 대한 이미지를 얻는 광학 줌의 경우 비교적 높은 해상도를 가지는 이미지를 획득할 수 있으나, 이는 카메라 내부의 구조가 복잡해지고 부품 추가로 인해 비용이 증가하는 문제가 존재한다. 또한, 광학 줌을 이용하여 대상체를 확대할 수 있는 영역은 한계가 있어서, 이러한 부분에 대해서는 소프트웨어로 보정을 하는 기술 등이 개발되고 있다.
이러한 방법 이 외에도, 보이스 코일 모터(VCM, Voice Coil Motor) 또는 MEMS(Micro-Electro Mechanical Systems) 기술로 센서를 흔드는 센서 시프트(Shift) 기술, 렌즈를 VCM 등으로 흔들어서 픽셀 정보를 얻는 OIS(Optical Image Stabilizer) 기술, 센서와 렌즈 사이의 필터(Filter)를 흔드는 기술 등 카메라 내부의 부품을 움직이는 방식으로 픽셀 정보를 더 많이 생성하여 고해상도 이미지를 구현하는 기술들이 존재한다.
그러나 이러한 기술들의 단점은 여러 시차의 데이터를 합성하기 때문에 움직이는 물체를 촬영한 경우, 모션 블러(Motion Blur)나, 아티팩트(Artifact)와 같은 현상들이 발생할 수 있어 이로 인해 이미지의 화질을 저하시키는 문제가 발생할 수 있다.
또한, 이를 구현하기 위한 복잡한 장치가 카메라 내부가 삽입됨에 따라 카메라 모듈의 크기가 커지게 되고, 부품을 흔드는 방법으로 구현을 하기 때문에 카메라가 설치된 차량에서는 사용하기 힘들고, 고정적인 환경에서만 사용이 가능한 문제가 존재한다.
반면, TV에서 일반적으로 사용되고 있는 소프트웨어 알고리즘을 이용한 고해상도 구현 기술은 싱글 프레임 SR (Single-Frame Super Resolution) 또는 멀티 프레임 SR(Multi-frame Super Resolution) 기술 등이 존재한다.
이러한 기술의 경우 아티팩트(Artifact) 문제는 발생하지는 않지만, 모바일, 차량, IoT 등 소형 카메라 모듈이 적용될 수 있는 장치에는 적용하기 어려운 알고리즘이며, 또한 이러한 기술을 구현하기 위해서는 별도의 이미지 프로세서가 장착되지 없으면 구현하기 어려운 문제점이 존재한다.
따라서, 본 발명은 전술한 바와 같이 종래 기술이 가지고 있던 문제점을 해결하기 위해 고안된 발명으로서, 모션 블러(Motion Blur)나, 아티팩트(Artifact)같은 문제점이 발생하지 않으면서, 고해상도 이미지를 생성할 수 있는 카메라 모듈 및 이를 포함한 이동 단말 장치를 제공하기 위함이다.
구체적으로, 딥 러닝 기술에 기반한 고해상도 구현 알고리즘이 적용된 칩(Chip)을 온 더 플라이(On The Fly) 형태로 카메라 모듈 또는 카메라 모듈이 장착되어 있는 이동 단말 장치에 탑재하여 보다 효율적으로 고해상도 이미지를 생성할 수 있는 카메라 모듈 및 이를 포함한 이동 단말 장치를 제공하기 위함이다.
일 실시예에 따른 카메라 장치는 제1 해상도를 가지는 제1 베이어 데이터를 생성하는 이미지 센서 및 상기 제1 베이어 데이터를 기초로 딥 러닝을 수행하여 상기 제1 해상도보다 높은 제2 해상도를 가지는 제2 베이어 데이터를 출력하는 프로세서를 포함할 수 있다.
상기 프로세서는, 상기 제1 베이어 데이터를 파장대역 별로 배열한 제1 배열 데이터를 생성한 후, 생성된 상기 제1배열 데이터를 기초로 딥 러닝을 수행하여 상기 제2배열 데이터를 생성할 수 있다.
상기 프로세서는, 상기 제2 배열 데이터를 기초로 상기 제2 베이어 데이터를 생성할 수 있다.
상기 프로세서는, 상기 제2 베이어 데이터를 기초로 상기 제2 해상도를 가지는 이미지를 생성할 수 있다.
상기 프로세서는, 상기 제1 베이어 데이터를 파장 대역별로 배열한 제1 배열 데이터를 생성하는 제1 데이터 정렬부, 상기 제1 배열 데이터를 기초로 딥 러닝을 수행하여 제2 배열 데이터를 출력하는 딥 러닝 프로세서 및 상기 제2 배열 데이터를 베이어 패턴으로 배열한 제2베이어 데이터를 생성하는 제2 데이터 정렬부를 포함할 수 있다.
상기 프로세서는, 상기 제1 베이어 데이터를 라인별로 저장하는 적어도 하나의 제1 라인 버퍼(Line Buffer), 상기 제1 라인 버퍼로부터 출력되는 정보를 수신하여 파장대역 별로 배열한 제1 배열 데이터를 생성하는 제1 데이터 정렬부, 상기 제1 배열 데이터를 기초로 딥 러닝을 수행하여 제2 배열 데이터를 생성하는 딥 러닝 프로세서, 제2 배열 데이터를 베이어 패턴으로 배열한 제2배열 데이터를 생성하는 제2 데이터 정렬부 및 상기 제2 데이터 정렬부로부터 출력된 데이터를 라인별로 저장하는 적어도 하나의 제2 라인 버퍼를 포함할 수 있다.
다른 실시예에 따른 카메라 장치의 이미지 생성 방법은 제1 해상도를 가지는 제1 베이어 데이터를 생성하는 단계, 상기 제1 베이어 데이터를 파장대역 별로 분류한 제1 배열 데이터를 생성하는 단계, 상기 제1 배열 데이터를 기초로 딥 러닝을 수행하여 제2 배열 데이터를 생성하는 단계, 상기 제2배열 데이터를 기초로 상기 제1해상도보다 높은 제2 해상도를 가지는 제2 베이어 데이터를 생성할 수 있다.
상기 제2 베이어 데이터를 생성하는 단계는, 상기 제2 배열 데이터를 베이어 패턴으로 배열하여 생성하는 단계를 포함할 수 있다.
상기 카메라 장치의 이미지 생성 방법은 상기 제1 베이어 데이터는 복수의 행 데이터를 포함하고, 상기 제1 배열 데이터를 생성하는 단계는 기 설정된 N+1개의 행 라인으로 통해 출력되는 상기 제1베이어 데이터를 기초로 상기 제1배열 데이터를 생성하는 단계를 포함할 수 있다.
상기 기 설정된 N+1 개의 행 라인을 통해 출력되는 단계는, 수신되는 상기 제1베이어 데이터의 복수의 행 데이터 중 N개의 행 데이터를 순차적으로 저장한 후, 상기 N+1번째 행을 전송할 때 상기 N개의 행 데이터를 함께 출력하는 단계를 포함할 수 있다.
고해상도를 구현하기 위한 딥 러닝 기반의 알고리즘들은 프레임 버퍼(Frame Buffer)를 사용하였기 때문에 일반 PC 및 서버에서는 실시간 구동이 어려웠지만, 일 실시예에 따른 카메라 모듈 및 이를 포함하는 이동 단말 장치와 이미지 생성 방법은 몇 개의 라인 버퍼(Line Buffer)만을 사용하는 방식으로 고해상도를 구현하고 네트워크 구성은 최적화시키는 방식으로 고해상도 이미지를 생성하므로 비교적 크기가 작은 소형 칩(Chip)으로 구현할 수 있는 장점이 존재한다.
또한, 본 기술이 적용된 칩은 소형의 크기로 제작될 수 있으므로 탑재되는 장치의 사용 목적에 따라 다양한 위치에 다양한 방식으로 탑재될 수 있어, 설계의 자유도가 증가할 수 있다. 또한, 기존의 딥 러닝 방식의 알고리즘을 수행하기 위해 고가의 프로세서가 필요하지 않아 보다 경제적으로 고해상도 이미지를 생성할 수 있다.
또한, 이미지 센서 모듈, 카메라 모듈, AP 모듈 어느 위치에나 탑재 가능한 방식으로 본 기술의 실시가 가능하므로, 줌 기능이 없는 카메라 모듈 또는 특정 배율에 대한 고정 줌만 지원하는 카메라 모듈에 본 기술을 적용시켜 연속 줌 기능을 사용할 수 있다.
또한, 특정 배율에 대해 광학적으로 연숙 줌만 지원하는 카메라 모듈에서도 본 기술을 적용시켜 더 넓은 배율 구간에서 연속 줌 기능을 활용할 수 있는 효과가 존재한다.
또한, 고해상도의 데이터를 생성함에 있어서, RGB 이미지가 아닌 로우(Raw) 데이터인 베이어 데이터의 해상도를 높여 디지털 줌을 수행하는바, RGB 이미지에 대해 해상도를 높이는 경우보다, 정보량이 많아 화질이 높은 고해상도 이미지를 획득할 수 있다. 또한, 고해상도의 베이어 데이터를 출력하므로써, 데이터의 선형성을 유지하여 후처리 과정에서의 이미지 프로세싱에 대한 성능향상을 얻을 수 있다.
도 1은 본 발명의 제1 실시예에 따른 카메라 모듈의 일부 구성 요소를 도시한 블럭도이다.
도 2는 본 발명의 제1 실시예에 따른 이미지 생성부의 일부 구성 요소를 도시한 도면이다.
도3은 본 발명의 제1 실시예에 따른 딥 러닝 트레이닝의 수행 과정을 도시한 도면이다.
도 4는 본 발명의 제1 실시예와 다른 실시예에 따른 딥 러닌 트레이닝의 수행 과정을 도시한 도면이다.
도 5는 딥 러닝 알고리즘이 적용된 프로세서에 입력되는 정보와 프로세서를 통해 출력되는 출력 정보를 도시한 도면이다.
도 6과 도 7은 프로세서에 의해 제1해상도 가지는 제1베이어 이미지가 제2해상도를 가지는 제2베이어 이미지로 변환된 모습을 도시한 도면이다.
도8은 본 발명의 제1 실시예에 따른 이동 단말 장치의 일부 구성 요소를 도시한 블럭도이다.
도9는 본 발명의 제1 실시예에 따른 카메라 모듈을 포함하고 있는 이동 단말 장치의 일부 구성 요소를 도시한 블럭도이다
도10은 본 발명의 제1 실시예의 다른 실시예에 따른 카메라 모듈을 포함하고 있는 이동 단말 장치의 일부 구성 요소를 도시한 블럭도이다
도11은 본 발명의 제1 실시예의 또 다른 실시예에 따른 카메라 모듈을 포함하고 있는 이동 단말 장치의 일부 구성 요소를 도시한 블럭도이다
도 12는 본 발명의 제1 실시예에 따른 이미지 생성 방법의 순서를 도시한 순서도이다.
도 13은 본 발명의 제2 실시예에 따른 이미지 처리 장치의 블록도이다.
도 14는 본 발명의 제2 실시예에 따른 이미지 처리 장치에 포함되는 카메라 모듈의 블록도이다.
도 15는 본 발명의 제2 실시예에 따른 이미지 처리 장치의 구성이 적용된 모바일 장치의 블록도이다.
도 16은 본 발명의 제2 실시예의 다른 실시예에 따른 이미지 처리 장치의 블록도이다.
도 17은 본 발명의 제2 실시예의 다른 실시예에 따른 이미지 처리 장치의 구성이 적용된 모바일 장치의 블록도이다.
도 18은 본 발명의 제2 실시예에 따른 이미지 처리 장치에서 이미지를 처리하는 과정을 설명하기 위한 도면이다.
도 19는 본 발명의 제2 실시예의 또 다른 실시예에 따른 이미지 처리 장치의 블록도이다.
도 20은 본 발명의 제2 실시예에 따른 이미지 처리 방법의 흐름도이다.
도 21은 본 발명의 제2 실시예의 다른 실시예에 따른 이미지 처리 방법의 흐름도이다.
본 명세서에 기재된 실시 예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예이며, 본 출원의 출원 시점에 있어서 본 명세서의 실시 예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.
또한, 본 명세서에서 사용한 용어는 실시 예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서, "포함하다", "구비하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않으며, 본 명세서에서 사용한 "제 1", "제 2" 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되지는 않는다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1 내지 도 12는 본 발명의 제1 실시예에 따른 카메라 장치 및 카메라 장치의 이미지 생성 방법에 대한 도면이고, 도 13 내지 도 21은 본 발명의 제2 실시예에 따른 이미지 처리 장치 및 이미지 처리 방법에 관한 도면이다.
도 1은 본 발명의 제1 실시예에 따른 카메라 모듈(100)의 일부 구성 요소를 도시한 블록도이며, 도 2는 제1 실시예에 따른 이미지 생성부(200)의 일부 구성 요소를 도시한 도면이고 도3은 제1 실시예에 따라 프로세서(220)가 수행하는 딥 러닝 과정의 일 예를 도시한 도면이다.
도 1을 참조하면, 일 실시예에 다른 카메라 모듈(100)은 외부 대상체에 대한 이미지를 획득하는 이미지 센서(110)와 이미지 센서(110)가 취득한 이미지를 이미지 생성부(200)로 전송하는 전송부(120)를 포함하고 있으며, 이미지 생성부(200)는 전송부(120)가 송신한 이미지를 수신하고 이를 프로세서(220)로 송신하는 수신부(210), 수신부(210)로부터 수신한 이미지를 딥 러닝 트레이닝을 수행한 결과 도출된 알고리즘을 적용시켜 수신한 이미지의 해상도와 다른 해상도를 가지는 이미지를 생성하는 프로세서(220) 및 프로세서(220)가 생성한 이미지를 수신하고 외부 장치로 송신하는 출력부(230) 등을 포함할 수 있다. 여기서, 딥 러닝 트레이닝을 수행한 결과 도출된 알고리즘은 앞서 설명한 컨볼루션 신경망일 수 있다. 프로세서(220)는 딥 러닝 기반 알고리즘을 이용하여 학습된 프로세서일 수 있다. 파이프라인 프로세서(pipelined processor)를 포함할 수 있고, 제1 베이어 데이터로부터 제2 베이어 데이터를 생성하도록 학습된 컨볼루션 신경망을 포함할 수 있다.
구체적으로, 이미지 센서(110)는 카메라 모듈의 렌즈(120)를 통해 들어오는 빛을 전기 신호로 변화하는 CMOS(Complementary Metal Oxide Semiconductor) 또는 CCD(Charge Coupled Device)와 같은 이미지 센서를 포함할 수 있다.
전송부(120)는 이미지 센서(110)가 취득한 이미지를 이미지 생성 장치(200)의 수신부(210)로 전송할 수 있다. 도 1에서는 전송부(120)와 이미지 센서(110)를 구별되는 구성 요소로 도시하였지만, 이에 한정되는 것은 아니고 후술할 전송부(120)의 역할을 이미지 센서(110)가 동시에 수행할 수도 있다.
구체적으로, 전송부(120)는 이미지 센서(110)가 취득한 이미지에서 베이어 패턴(Bayer Pattern)의 정보를 추출한 후, 이에 대한 정보를 수신부(210)로 전송할 수 있다.
이미지 생성부(200)는 전송부(120)가 송신한 이미지를 수신하고 이를 프로세서(220)로 송신하는 송신부(210), 송신부(210)로부터 수신한 이미지를 딥 러닝(Deep Learning) 트레이닝에 의해 생성된 알고리즘을 이용하여 더 높은 해상도를 가지는 이미지를 생성하는 프로세서(220) 및 프로세서(220)가 생성한 이미지를 수신하고 외부로 송신하는 출력부(230) 등을 포함할 수 있다.
구체적으로, 프로세서(220)는 수신부(210)로부터 제1 해상도를 가지는 베이어 이미지를 수신한 후, 딥 러닝 트레이닝에 의해 생성된 알고리즘을 이용하여, 제2 해상도를 가지는 베이어 이미지를 생성한 후, 생성된 제2베이어 이미지를 출력부(230)로 전송할 수 있다.여기서, 제2 해상도는 제1 해상도와는 다른 해상도 값을 가지는 해상도를 의미하며, 구체적으로 제1 해상도 보다 더 높거나 낮은 해상도를 의미할 수 있다. 제2 해상도가 가질 수 있는 해상도 값은 사용자의 목적에 따라 사용자가 자유롭게 설정 변경할 수 있다.
따라서, 일 실시예에 따른 카메라 모듈(100)은 도면에는 도시하지 않았으나 제2 해상도에 대한 정보를 입력 받는 입력부를 더 포함할 수 있으며, 사용자는 이를 통해 원하는 해상도에 대한 정보를 카메라 모듈(100)로 입력할 수 있다.
예를 들어, 사용자는 해상도가 높은 이미지를 얻고 싶은 경우, 제2 해상도를 제1 해상도와 차이가 많이 존재하는 해상도로 설정할 수 있으며, 비교적 빠른 시간 내에 새로운 이미지를 취득하고 싶은 경우, 제1 해상도와 해상도의 차이가 많이 나지 않은 해상도로 제2 해상도 값을 자유롭게 설정할 수 있다.
또한, 프로세서(220)는 프로세서를 통해 실행되는 적어도 하나의 프로그램 명령이 저장된 메모리(Memory, 미도시)를 통해 구현될 수 있다.
구체적으로, 메모리는 S램, D랩 등의 휘발성 메모리를 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 경우에 따라서 메모리는 플래시 메모리, 롬(Read Only Memory), 이피롬(Erasable Programmable Read Only Memory: EPROM), 이이피롬(Electrically Erasable Programmable Read Only Memory: EEPROM) 등의 비휘발성 메모리를 포함할 수도 있다.
통상적인 카메라 장치 혹은 카메라 모듈은 이미지 센서로부터 베이어 패턴을 전달받아 색을 입히는 과정(색 보간 과정, Color Interpolation 혹은 Demosaicing)을 거쳐 이미지 형태의 데이터를 출력하는데, 일 실시예에 따른 전송부(120)는 이미지 센서(110)로부터 수신한 이미지에서 베이어 패턴(Bayer Pattern) 정보를 포함하고 있는 정보를 추출하고 추출된 정보를 외부로 송신할 수 있다.
여기서 베이어 패턴은 카메라 장치 또는 카메라 모듈(100)에 포함된 광 신호를 전기 신호로 변환하는 이미지 센서(110)가 출력하는 가공되지 않은 데이터(Raw Data)를 포함할 수 있다.
이에 대해 구체적으로 설명하면, 카메라 모듈(100)에 포함된 렌즈(120)를 통해 전달되는 광 신호는 R, G, B 색상을 검출할 수 있는 이미지 센서에 배치된 각 화소를 통해 전기 신호로 변환될 수 있다.
만약 카메라 모듈(100)의 사양이 500만 화소라고 한다면, R, G, B 색상을 감지할 수 있는 화소가 500만개 포함된 이미지 센서가 포함되어 있다고 생각할 수 있다. 화소 수가 500만개이지만, 실제로 각각의 색(color)을 감지하는 것이 아니라 흑백의 밝기만을 감지하는 단색(monochrome) 화소가 R, G, B 필터 중 어느 하나와 결합된 형태로 볼 수 있다.
즉, 이미지 센서는 화소수 만큼 배열된 단색 화소 셀들 위에 R, G, B 색상 필터들이 특정한 패턴을 가지고 배치되어 있다. 따라서, R, G, B 색상 패턴이 사용자(즉, 인간)의 시각 특성에 따라 교차하며 배치되는데 이를 베이어 패턴(Bayer Pattern)이라고 부른다.
일반적으로 베이어 패턴은 이미지 형태의 데이터 보다 데이터의 양이 작다. 따라서, 고사양의 프로세서를 가지고 있지 않은 카메라 모듈이 장착된 장치라 하더라도 이미지 형태의 데이터보다 비교적 빠르게 베이어 패턴의 이미지 정보를 전송하고 수신할 수 있으며, 이를 기초로 다양한 해상도를 가지는 이미지로 변환시킬 수 있는 장점이 존재한다.
일 예로, 카메라 모듈이 차량에 탑재되어, 카메라 모듈이100Mbit/s 의 전이중(Full-duplex) 전송 속도를 가지는 저전압 차등 신호 방식(LVDS)이 이용되는 환경 내에서도 이미지 처리를 하는데 많은 프로세서가 필요하지 않아 과부하가 걸리지 않아 차량을 이용하는 운전자 또는 운전자의 안전에 위해가 되지 않을 수 있다.
또한, 차량 내 통신망에 의해 전달되는 데이터의 크기를 줄일 수 있어 자율 주행 차량에 적용하더라도 차량에 배치된 복수의 카메라의 작동에 따른 통신 방식, 통신 속도 등에 의해 발생하는 문제를 제거할 수 있는 효과가 존재한다.
또한, 전송부(120)는 수신부(210)에 베이어 패턴의 이미지 정보를 송신함에 있어, 베이어 패턴 형태의 프레임을 이미지 센서(110)로 부터 수신한 후, 1/n 크기로 다운 샘플링 한 후의 정보를 송신할 수 있다.
구체적으로, 전송부(120)는 다운샘플링 이전에 수신된 베이어 패턴의 데이터에 대해 가우시안 필터(Gaussian Filter) 등을 통한 스무딩(smoothing)을 수행한 뒤 다운 샘플링을 수행할 수 있다. 그 후 다운 샘플링된 영상 데이터를 기반으로 프레임 패킷을 생성한 후, 완성된 프레임 패킷을 수신부(210)로 송신할 수 있다. 다만, 이러한 기능은 전송부(120)가 아닌 프로세서(220)에 한꺼번에 같이 수행될 수도 있다.
또한, 전송부(120)는 저전압 차등 시그널링 방식(LVDS)와 같은 시리얼 통신 방식으로 베이어 패턴 정보를 송신하기 위해 베이어 패턴을 직렬 데이터로 변환하는 시리얼라이져(Serializer, 미도시)를 포함할 수 있다.
시리얼라이저는 통상적으로 데이터를 일시적으로 저장하는 버퍼 및 송신되는 데이터의 주기를 형성하는 위상동기루프(PLL)를 포함하거나 함께 구현될 수 있다.
지금까지 일 실시예에 따른 카메라 모듈(100)의 일반적인 구성 요소에 대해 알아보았다. 이하 프로세서(220)에 적용되는 알고리즘의 생성 방법 및 특징에 대해 알아본다.
일 실시예에 따른 카메라 모듈(100)의 프로세서(220)에 적용되는 알고리즘은, 입력된 이미지의 해상도보다 더 높은 해상도를 가지는 이미지를 생성하는 알고리즘으로서, 딥 러닝 트레이닝을 반복적으로 수행하여 생성된 최적의 알고리즘을 의미할 수 있다. 딥 러닝 트레이닝에 의해 생성되는 알고리즘인 컨볼루션 신경망은 1 해상도를 가지는 제1 베이어 데이터를 수신하여 제2 해상도를 가지는 제2 베이어 데이터를 생성하도록 학습될 수 있다.
딥 러닝이란, 심층 학습으로 표현되기도 하는데, 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계 학습(machine learning)에 관한 알고리즘의 집합을 의미한다.
구체적으로, 딥 러닝은 어떠한 학습 데이터를 컴퓨터가 이해할 수 있는 형태(예를 들어 이미지의 경우는 픽셀(Pixel)정보를 열 벡터로 표현하는 등)로 표현(Representation)하고 이를 학습에 적용하기 위해 많은 연구(어떻게 하면 더 좋은 표현기법을 만들고 또 어떻게 이것들을 학습할 모델을 만들지에 대한)에 대한 학습 기법으로, DNN(Deep Neural Networks) 및 DBN(Deep Belief Networks)등의 학습 기법을 포함할 수 있다.
일 예로, 딥 러닝은 먼저 주변 환경을 인지하고 현재 환경 상태를 프로세서에 전달할 수 있다. 프로세서는 이에 맞는 행동(Action)을 수행하고 환경은 다시 그 행동에 따른 보상치를 프로세서에게 알려준다. 그리고 프로세서는 보상치를 최대로 하는 행동을 택하게 된다. 이러한 과정에 통해 학습 과정이 반복적으로 진행될 수 있다.
앞서 설명한대로 딥 러닝을 수행 하면서 이용되는 학습 데이터는, 실제 해상도가 낮은 베이어 이미지를 해상도가 높은 베이어 이미지로 변환해 가면서 얻은 결과일 수도 있으며, 시뮬레이션을 통해 얻은 정보일 수도 있다.
만약, 시뮬레이션 과정을 수행하는 경우 시뮬레이션의 환경에 맞추어(이미지의 배경, 색상의 종류 등) 조정함으로써 보다 빠르게 데이터를 획득할 수 있다. 이하 도 3과 도 4를 통해 일 실시예에 따른 프로세서(220)에 적용되는 알고리즘이 생성되는 방법에 대해 구체적으로 알아본다.
도 3은 일 실시예에 따른 딥 러닝 트레이닝의 수행 과정을 도시한 도면이고 도 4는 다른 실시예에 따른 딥 러닝 트레이닝의 수행 과정을 도시한 도면이다.
도 3의 딥 러닝은 심층 신경망(Deep Neural Network, DNN) 알고리즘이 적용된 딥 러닝으로서, DNN 알고리즘이 적용됨에 따라 새로운 해상도를 가지는 이미지를 생성하는 과정을 도시한 도면이다.
심층 신경망(DNN)은 입력층(input layer)과 출력층(output layer) 사이에 다중의 은닉층(hidden layer)이 존재하는 심층(deep) 신경망, 동물의 시각 피질의 구조와 유사하게 뉴런 사이의 연결 패턴을 형성하는 컨볼루션(convolutional) 신경망, 시간에 따라 매순간마다 신경망을 쌓아 올리는 재귀(recurrent) 신경망으로 구체화될 수 있다. 컨볼루션 신경망은 FCN(Fully Convolutional Network), U-Net, MobileNet, RDN(Residual Dense Network), 및 RCAN(Residual Channel Attention Network) 중 적어도 하나의 모델일 수 있다. 이외에도 다양한 모델을 이용할 수 있음은 당연하다.
구체적으로 DNN은 컨볼루션(Convolution)과 서브 샘플링(Sub-Sampling)을 반복하여 데이터의 양을 줄이고, 왜곡시켜 신경망을 분류한다. 즉, DNN은 특징 추출과 분류 행위를 통해 부류 결과를 출력하는데, 주로 이미지를 분석하는데 사용되며, 컨볼루션은 영상 필터링을 의미한다.
도 3을 참조하여 DNN 알고리즘이 적용된 프로세서(220)가 수행하는 과정을 설명하면, 프로세서(220)는 수신부(210)로부터 수신한 제1 해상도를 가지는 베이어 이미지(10)를 기초로 배율을 높이고자 하는 영역에 대해 컨볼루션과 서브 샘플링(Sub-Sampling)을 수행한다.
배율을 높인다는 것은, 이미지 센서(110)가 취득한 이미지 중에서 특정 부분만을 확대하는 것을 의미한다. 따라서, 사용자에 의해 선택되지 않은 부분은 사용자가 관심이 없어 하는 부분이므로 해상도를 높이는 과정을 수행할 필요가 없으므로 사용자에 의해 선택된 부분에 대해서만 컨볼루션과 서브 샘플링 과정을 수행할 수 있다.
서브 샘플링은 영상의 크기를 줄이는 과정을 의미한다. 일 예로 서브 샘플링은 맥스-풀(Max Pool) 방법을 사용할 수 있다. 맥스-풀은 해당 영역에서 최대치를 선택하는 기법인데 뉴런이 가장 큰 신호에 반응하는 것과 유사하다. 서브 샘플링은 노이즈를 감소시키고, 학습의 속도를 증가시킬 수 있는 장점이 존재한다.
컨볼루션과 서브 샘플링이 수행되면, 도 3에 도시된 바와 같이 복수 개의 이미지(20)가 출력될 수 있다. 그 후 출력된 이미지들을 기초로 업 스케일(Up Scale) 방식으로 이용하여 서로 다른 특징을 가지는 복수 개의 이미지를 출력시킬 수 있다. 업 스케일 방식은 서로 다른 r^2개의 필터를 이용하여 이미지를 r*r 배로 스케일을 높이는 것을 의미한다.
업 스케일에 따라 복수 개의 이미지가 도3에 도시된 바와 같이 출력되면(30), 프로세서(220)는 이러한 이미지들을 기초로 재조합을 하여 최종적으로 제2 해상도를 가지는 제2베이어 이미지(40)를 출력할 수 있다.
도 4의 딥 러닝은 도 3의 딥 러닝과 다른 방식으로 딥 러닝을 수행하는 방법을 도시한 도면으로서, 구체적으로 반복적 학습에 의해 형성되는 알고리즘의 생성 과정에 대해 설명한 도면이다.
도 4에 따른 딥 러닝의 경우, 서로 상이한 해상도를 갖는 제1 샘플 데이터(X)와 제2 샘플 데이터(Z)를 입력 받은 후 이를 기초로 딥 러닝 트레이닝을 수행할 수 있다.
구체적으로, 도 4에 따른 딥 러닝은 제1 샘플 데이터(X)를 입력 데이터로 하여 딥 러닝 트레이닝을 수행한 출력 데이터(Y)와 제2샘플 데이터(Z)를 비교하고 분석하여 생성된 파라미터를 기초로 더 높은 해상도를 가지는 이미지를 생성하는 알고리즘을 생성할 수 있다.
여기서 출력 데이터(Y)는 실제 딥 러닝을 통해 출력된 데이터이고, 제2샘플 데이터(Z)는 사용자가 입력하는 데이터로서, 제1샘플 데이터(X)를 알고리즘에 입력 하였을 때, 가장 이상적으로 출력될 수 있는 데이터를 의미할 수 있다.
따라서, 도 4에 따른 알고리즘은 출력 결과로서 가장 이상적인 제2샘플 데이터(Z)와 실제 출력 데이터인 제1출력 데이터(Y)를 비교하고 분석하여 차이점을 도출해 낸 후, 차이점을 상쇄하는 방향으로 알고리즘에 피드백을 줄 수 있다.
구체적으로, 출력 데이터에 영향을 주는 파라미터를 분석한 후, 파리미터를 변경하거나 삭제 또는 새로운 파라미터를 생성하는 방식으로 피드백을 주어 이상적인 출력 데이터인 제2샘플 데이터(Z)와 실제 출력 데이터인 제1출력 데이터(Y)의 차이가 없도록 할 수 있다.
일 예로 도 4에 도시된 바와 같이 알고리즘에 영향을 주는 레이어가 총 3개이고(L1, L2, L3) 각각의 레이어에 총 8개의 파라미터(P11, P12, P13, P21, P22, P31, P32)가 존재한다고 가정한다.
이러한 경우에 P22 파라미터의 값을 증가시키는 방향으로 파라미터를 변경하였더니 실제 출력된 데이터 제1출력 데이터(Y)와 가장 이상적인 출력 데이터인 제2샘플 데이터(Z)의 차이가 증가한다면, 피드백은 P22 파라미터를 감소시키는 방향으로 알고리즘을 변경할 수 있다.
이와 반대로, P33 파라미터의 값을 증가시키는 방향으로 파라미터를 변경하였더니 실제 출력된 데이터 제1출력 데이터(Y)와 가장 이상적인 출력 데이터인 제2샘플 데이터(Z)의 차이가 감소하였다면, 피드백은 P33 파라미터를 증가시키는 방향으로 알고리즘을 변경할 수 있다.
즉, 이러한 방법을 통해 딥 러닝이 적용된 알고리즘은 실제 출력되는 제1출력 데이터(Y)가 가장 이상적인 출력 데이터인 제2샘플 데이터(Z)와 유사하게 출력되도록 할 수 있다.
그리고 이 경우, 제2샘플 데이터(Z)의 해상도는 제1출력 데이터(Y)의 해상도와 동일하거나 높을 수 있으며, 제2샘플 데이터(Z)의 해상도는 제1출력 데이터(Y)의 해상도와 동일할 수 있다.
일반적으로, 딥 러닝을 할 수 있는 프로세서를 소형의 칩으로 구현하기 위해서는 딥 러닝의 프로세스와 메모리 게이트(gate) 수가 최소화가 되어야 하는데, 여기서 게이트 수에 가장 크게 영향을 주는 요소는 알고리즘 복잡도와 클럭(Clock) 당 처리되는 데이터 양이며, 프로세서가 처리하는 데이터의 양은 입력 해상도에 따라 달라진다.
따라서, 일 실시예에 따른 프로세서(220)는 게이트의 수를 줄이기 위해 입력 해상도를 줄인 후에 나중에 업 스케일링(Up Scailing) 하는 방식으로 고배율의 이미지를 생성하므로 보다 빠르게 이미지를 생성할 수 있는 장점이 존재한다.
예를 들어, 입력 해상도가 8Mp(Mega Pixel)인 이미지를 2배 줌을 해야 한다면 1/4 영역 (2Mp)을 기초로 가로와 세로를 각각 2배씩 업 스케일링(Up scailing) 하여 2배 줌을 한다. 그리고 1/4영역(2Mp)을 1/4 다운 스케일링(down scaling) 하여 해상도가 0.5Mp인 이미지를 딥 러닝 처리 입력 데이터로 사용한 후에, 생성된 이미지를 기초로 가로와 세로를 각각 4배씩 업 스케일링(Up scailing) 하는 방식으로 4배 줌을 하면 2배줌을 한 것과 동일한 영역의 줌 영상을 생성할 수 있다.
따라서, 일 실시예에 따른 카메라 모듈(100) 및 이미지 생성 방법은 입력 해상도 손실에 따른 성능 저하를 방지하기 위해 딥 러닝이 해상도 손실에 대응되는 배율만큼 학습을 시켜서 이미지를 생성하므로, 성능 저하를 최소화할 수 있는 장점이 존재한다.
또한, 고해상도의 이미지를 구현하기 위한 딥 러닝 기반의 알고리즘들은 일반적으로 프레임 버퍼(Frame Buffer)를 사용하는데, 프레임 버퍼의 경우 일반 PC 및 서버에서는 그 특성상 실시간 구동이 어려울 수 있다.
그러나, 일 실시예에 따른 프로세서(220)는 딥 러닝을 통해 이미 생성되어 있는 알고리즘 적용하므로 저사양 카메라 모듈 및 이를 포함하는 여러 장치 들에서 쉽게 적용이 가능하며, 이러한 알고리즘을 구체적으로 적용함에 있어서 몇 개의 라인 버퍼(Line Buffer)만을 사용하는 방식으로 고해상도를 구현하므로, 비교적 크기가 작은 소형 칩(Chip)으로 프로세서를 구현할 수 있는 효과 또한 존재한다.
도5는 일 실시예에 따른 프로세서(220)의 일부 구성 요소를 도시한 블럭도이다.
도 5를 참조하면, 일 실시예에 따른 프로세서는 제1베이어 데이터를 수신하는 복수 개의 라인 버퍼(11), 라인 버퍼를 통해 출력된 제1베이어 데이터를 파장대역 별로 배열하는 제1배열 데이터를 생성하는 제1데이터 정렬부(221), 미리 설정되어 있는 알고리즘에 따라 딥 러닝을 수행하는 딥 러닝 프로세서(222), 딥 러닝 프로세서(222)를 통해 출력된 제2배열 데이터를 베이어 패턴으로 배열하여 제2베이어 데이터를 생성하는 제2데이터 정렬부(223) 및 제2데이터 정렬부(223)를 통해 출력된 제2베이어 데이터를 출력하는 복수 개의 라인 버퍼(12)를 포함할 수 있다.
제1베이어 데이터는 앞서 설명한 베이어 패턴을 포함하고 있는 정보로서, 도 5에서 배이어 데이터로 기술하였지만, 베이어 이미지 또는 메이어 패턴으로 정의 될 수도 있다.
또한, 도 5에서는 제1데이터 정렬부(221)와 제2데이터 정렬부(223)를 편의상 별개의 구성요소로 도시하였지만 이에 한정되는 것은 아니고, 딥러닝 프로세서(222)가 후술할 에서는 제1데이터 정렬부(221)와 제2데이터 정렬부(223)가 수행하는 기능을 같이 수행할 수도 있다.
도 5를 참고하면, 이미지 센서(110)에 의해 수신된 제1 해상도를 가지는 제1베이어 데이터는 사용자에 의해 선택된 영역에 대한 이미지 정보를 (n+1)개의 라인 버퍼(11a, 11b, ~ 11n. 11n+1)로 전송될 수 있다. 앞서 설명한 바와 같이 사용자에 의해 선택된 영역에 대해서만 제2 해상도를 가지는 베이어 이미지를 생성하므로 사용자에 의해 선택되지 않은 영역에 대한 이미지 정보는 라인 버퍼(11)로 송신되지 않는다.
구체적으로, 제1베이어 데이터는 복수개의 행 데이터를 포함하고 있고, 이러한 복수 개의 행 데이터는 복수 개의 라인 버퍼(11)를 통해 제1데이터 정렬부(221)로 송신될 수 있다.
예를 들어, 딥 러닝 프로세서(222)에 의해 딥 러닝을 수행해야 하는 영역이 3 X 3 영역이라면 총 3개의 라인이 제1데이터 정렬부(221) 또는 프로세서(220)로 동시에 송신이 되어야 딥 러닝을 수행할 수 있다. 따라서, 3개의 라인 중 첫 번째 라인에 대한 정보는 제1라인버퍼(11a)로 송신된 후, 제1라인버퍼(11a) 저장되며, 3개의 라인 중 두 번째 라인에 대한 정보는 제2라인버퍼(11b)로 송신된 후, 제2라인버퍼(11b) 저장될 수 있다.
그 후 세 번째 라인의 경우, 이후로 수신되는 라인에 대한 정보가 없으므로 라인 버퍼(11)에 저장되지 않고 바로 프로세서(220) 또는 제1데이터 정렬부(221)로 송신될 수 있다.
이 때 제1데이터 정렬부(221) 또는 프로세서(220)는 3개의 라인에 대한 정보를 동시에 수신해야 하므로 제1라인 버퍼(11a)와 제2라인 버퍼(11b)에 저장되어 있는 첫 번째 라인에 대한 정보와 두 번째 라인에 대한 정보도 동시에 프로세서(220) 또는 제1이미지 정렬부(219)로 송신될 수 있다.
이와 반대로, 딥 러닝 프로세서(222)에 의해 딥 러닝을 수행해야 하는 영역이 (N+1) x (N+1) 영역이라면 총 (N+1)개의 라인이 제1데이터 정렬부(221) 또는 프로세서(220)로 동시에 송신이 되어야 딥 러닝을 수행할 수 있다. 따라서, (N+1)개의 라인 중 첫 번째 라인에 대한 정보는 제1라인버퍼(11a)로 송신된 후, 제1라인버퍼(11a) 저장되며, (N+1) 개의 라인 중 두 번째 라인에 대한 정보는 제2라인버퍼(11b)로 송신된 후, 제2라인버퍼(11b) 저장될 수 있으며, (N+1) 개의 라인 중 N 번째 라인에 대한 정보는 제N라인버퍼(11n)로 송신된 후, 제N라인버퍼(11n) 저장될 수 있다.
그 후 (N+1) 번째 라인의 경우, 이후로 수신되는 라인에 대한 정보가 없으므로 라인 버퍼(11)에 저장되지 않고 바로 프로세서(220) 또는 제1데이터 정렬부(221)로 송신될 수 있으며, 앞서 설명한 바와 같이 이 때 제1데이터 정렬부(221) 또는 프로세서(220)는 N+1개의 라인에 대한 정보를 동시에 수신해야 하므로 라인 버퍼(11a~11n)에 저장되어 있는 첫 번째 라인부터 n번째 라인에 대한 정보도 동시에 프로세서(220) 또는 제1이미지 정렬부(219)로 송신될 수 있다.
제1이미지 정렬부(219)는 라인 버퍼(11)로부터 베이어 데이터를 수신한 후 베이어 데이터를 파장대역 별로 배열하여 제1배열 데이터를 생성한 후, 생성된 제1배열 데이터를 딥 러닝 프로세서(222)로 송신할 수 있다.
제 1이미지 정렬부(219)는 수신한 정보를 특정 파장 또는 특정 색상별(Red, Green, Blue)로 분류하여 배열한 제1배열 데이터를 생성할 수 도 있다.
그 후, 딥 러닝 프로세서(222)는 제1이미지 정렬부(219)를 통해 수신한 제1배열 데이터를 기초로 딥 러닝을 수행하여 제2배열 데이터를 생성할 수 있다.
구체적으로, 딥 러닝을 수행한다는 것은 앞서 도 3과 도4를 통해 설명한 바와 같이 최적의 알고리즘을 생성하기 위해 추론 또는 반복적 학습을 통해 알고리즘을 생성하는 과정을 의미할 수 도 있지만, 동시에 이러한 과정에 의해 생성된 알고리즘을 실행하는 것 또한 딥 러닝을 수행한다고 볼 수 있다.
따라서, 딥 러닝 프로세서(222)는 제1이미지 정렬부(219)를 통해 수신한 제1배열 데이터를 기초로 딥 러닝을 수행하여 제1해상보다 높은 해상도를 가지는 제2 해상도를 가지는 제 2배열 데이터를 생성할 수 있다.
예를 들어, 앞서 설명한 바와 같이 3 x 3 영역에 대해 제1배열 데이터를 수신하였으면 3 x 3 영역에 대해서 딥 러닝을 수행하고, (n+1) x (n+1) 영역에 대해 제1배열 데이터를 수신하였으면 (n+1) x (n+1) 영역에 대해서 딥 러닝을 수행할 수 있다.
그 후, 딥 러닝 프로세서(222)에 의해 생성된 제2배열 데이터는 제2데이터 정렬부(223)로 송신되며, 제2데이터 정렬부(223)는 제2배열 데이터를 베이어 패턴을 가지는 제2베이어 데이터로 변환시킬 수 있다.
그 후 변환된 제2베이어 데이터는 복수 개의 라인 버퍼(12a)를 통해 외부로 출력되며, 출력된 제2베이어 데이터는 또 다른 과정의 의해 제1해상보다 높은 해상도인 제2 해상도를 가지고 있는 이미지로 생성될 수 있다.
도 6과 도 7은 프로세서(220)에 의해 제1 해상도 이미지를 가지는 제1베이어 이미지가 제2 해상도를 가지는 제2베이어 이미지로 변환된 모습을 도시한 도면이다.
제1 해상도를 가지는 베이어 이미지(10)에서 사용자가 특정 영역을 선택한 경우, 그 영역에 대해 프로세서(220)는 이미지 변환 과정을 수행할 수 있고, 수행한 결과 도 6과 도 7에 도시된 바와 같이 제2 해상도를 가지는 베이어 이미지(40)가 생성될 수 있다.
도8은 일 실시예에 따른 이동 단말 장치(400)의 일부 구성 요소를 도시한 블럭도이다.
도 8을 참조하면, 일 실시예에 따른 이동 단말 장치(400)는, 필터(110), 렌즈(120), 이미지 센서(130), 송신부(140), 드라이버 IC(150), 액츄이에터(160), 수신부(210), 프로세서(220), 출력부(230) 및 ISP(310)를 포함하고 있는 AP(300)를 포함할 수 있다.
이미지 센서(130), 송신부(140), 수신부(210), 프로세서(220) 및 출력부(230)는 도 1과 도 2에서 설명한 구성과 동일한 역할을 하는 구성 요소이므로 이에 대한 설명은 생략한다.
필터(110)는 외부로부터 유입되는 빛을 선택적으로 차단하는 역할을 하며, 일반적으로 렌즈(120)의 상부에 위치할 수 있다.
렌즈(120)는 유리와 같이 투명한 물질의 면을 구면으로 곱게 갈아 물체로부터 오는 빛을 모으거나 발산시켜 광학적 상을 맺게 하는 장치로서, 카메라 모듈(100)에 사용되는 일반적인 렌즈(120)는 복수 개의 서로 다른 특징을 가지는 렌즈를 구비할 수 있다.
드라이버 IC(150, Driver IC)는 화면에 문자나 영상 이미지가 표시되도록 패널에 구동신호 및 데이터를 전기신호로 제공하는 반도체(IC)를 의미하며, 후술하겠지만 드라이버 IC는 이동 단말 장치(400)의 다양한 위치에 배치될 수 있다. 또한 드라이버 IC(150m Driver IC)는 액츄에이터(160)를 구동할 수 있다.
액츄에이터는 렌즈 또는 렌즈를 포함하는 경통의 위치를 조절하여 초점을 조절할 수 있다. 예를들어 액츄에이터(160)는 VCM(Voice Coil Motor) 방식일 수 있다. 렌즈(120)는 가변 초점 렌즈를 포함할 수도 있다. 가변 초점 렌즈를 포함하는 경우 드라이버 IC는 가변 초점 렌즈를 구동할 수 있다. 예를들어 렌즈는 액체를 포함하는 액체 렌즈를 포함할 수 있으며 이 경우 드라이버 IC는 액체 렌즈의 액체를 조절하여 초점을 조절 할 수 있다.
AP(300, Application Processor)는 모바일용 메모리 칩으로 이동 단말 장치(400)에서 각종 어플리케이션 작동과 그래픽 처리를 담당하는 핵심 반도체를 의미한다. AP(300)는 컴퓨터의 중앙처리장치(CPU)의 기능과 메모리, 하드디스크, 그래픽 카드 등 기타 장비의 연결을 제어하는 칩셋의 기능을 모두 포함하고 있는 SoC(System on Chip) 형태로 구현될 수 있다.
영상 신호 처리부(ISP, Image Signal Processing, 300)는 MIPI(Mobile Industry Processor Interface) 통신을 이용하여 프로세서(220)가 생성한 제2베이어 이미지를 수신하고 영상 신호 처리 과정을 수행할 수 있다.
영상 신호 처리부(300)부는 영상 신호를 처리하면서 복수의 서브 과정을 포함할 수 있다. 예를 들어, 수신한 영상에 대해 감마값 보정(gamma correction), 색채 보정(color correction), 자동 노출(auto exposure correction), 자동 화이트값 보정(auto white balance) 과정 중에서 하나 이상을 포함할 수 있다.도9내지 도 11은 이동 단말 장치(400) 내부에서 드라이버 IC(150)와 프로세서(220)가 배치될 수 있는 다양한 실시 예를 블럭도로 표시한 도면이다.
도 9 내지 도 11에 도시된 각각의 구성 요소들은 앞서 자세히 설명하였는바 더 이상 설명하지 않고 드라이버 IC(150)와 프로세서(220)가 배치될 수 있는 위치에 대해 중심으로 설명한다.
일 실시예로, 드라이버 IC(150)와 프로세서(220)는 도 7에 도시된 바와 같이 카메라 모듈(100) 안에서 각각 별개의 모듈로 독립적으로 구현될 수 있다.
구체적으로, 프로세서(220)는 칩 형태로 구현되어 이미지 생성부(200)에 포함될 수 있으며, 드라이버 IC(150)는 이미지 생성부(200) 및 프로세서(220)와 독립적으로 별개의 칩으로 구현될 수 있다.
도 9에서는 이미지 생성부(200)가 수신부(210), 프로세서(220), 출력부(230)를 각각 포함하는 것으로 도시하였지만, 이에 한정되는 것은 아니고 이미지 생성부(200)가 프로세서(220)만을 포함하고 있고, 프로세서(220)가 앞서 설명한 수신부(210)와 출력부(230)을 역할을 동시에 수행할 수 도 있다.
도 9와 같은 형태로 드라이버 IC(150)와 프로세서(220)가 구현되는 경우, 이미지 생성부(200)가 구현된 칩을 기존 카메라 모듈에 삽입하는 방식으로 본 기술을 적용시킬 수 있어, 기존 카메라 모듈이 가지고 있는 구조와 상관없이 본 기술을 실시할 수 있는 효과가 존재한다.
다른 실시예로, 드라이버 IC(150)와 프로세서(220)는 도 8에 도시된 바와 같이 카메라 모듈(100)에 포함되어 있는 이미지 생성부(200) 내에서 하나의 모듈로 같이 구현될 수 있다.
구체적으로, 이미지 생성부(200)는 하나의 칩으로 구현될 수 있는데, 이러한 경우 이미지 생성부(200)가 드라이버 IC(150) 및 프로세서(220)가 하는 역할을 동시에 수행할 수 있다.
도 10에서는 이미지 생성부(200)가 수신부(210), 프로세서(220), 출력부(230)를 각각 포함하는 것으로 도시하였지만, 이에 한정되는 것은 아니고 이미지 생성부(200)가 프로세서(220)와 드라이버 IC(150)만을 포함하고 있고, 프로세서(220)가 앞서 설명한 수신부(210)와 출력부(230) 및 드라이버 IC(150)의 역할을 동시에 수행할 수 도 있다.
도 10과 같은 형태로 드라이버 IC(150)와 프로세서(220)가 구현되는 경우, 하나의 칩을 이용해 드라이버 IC(150)가 하는 역할과 프로세서(220)가 하는 역할을 동시에 수행할 수 있으므로 보다 경제적으로 카메라 모듈(100)을 제작할 수 있는 효과가 존재한다.
또 다른 실시예로, 드라이버 IC(150)와 프로세서(220)는 도 9에 도시된 바와 같이 드라이버 IC(150)는 카메라 모듈(100) 내부에 장착되고, 프로세서(220)는 카메라 모듈(100)과 별개로 이동 단말 장치(400) 내부에 배치될 수 있다.
구체적으로, 프로세서(220)는 칩 형태로 구현되어 이미지 생성부(200)에 포함될 수 있으며, 드라이버 IC(150)는 이미지 생성부(200) 및 프로세서(220)와 독립적으로 구현되면서 카메라 모듈(100) 내부에 배치될 수 있다.
도 11에서는 이미지 생성부(200)가 수신부(210), 프로세서(220), 출력부(230)를 각각 포함하는 것으로 도시하였지만, 이에 한정되는 것은 아니고 이미지 생성부(200)가 프로세서(220)만을 포함하고 있고, 프로세서(220)가 앞서 설명한 수신부(210)와 출력부(230)을 역할을 동시에 수행할 수 도 있다.
도 11과 같은 형태로 드라이버 IC(150)와 프로세서(220)가 구현되는 경우, 이미지 생성부(200)가 구현된 칩을 기존 카메라 모듈에 삽입하는 방식으로 본 기술을 실시할 수 있어, 기존 카메라 모듈이 가지고 있는 구조와 상관없이 본 기술을 실시할 수 있는 장점이 존재한다. 또한, 고이미지 센서에 비해 모듈 자체의 두께를 줄일 수 있는 효과가 존재한다.
도 12는 일 실시예에 따른 이미지 생성 방법의 순서를 도시한 순서도이다.
도 12를 참조하면, 이미지 센서(110)로부터 제1 해상도를 가지는 제1베이어 이미지를 수신할 수 있다.(S110)
그 후, 사용자로부터 제2 해상도에 대한 정보를 수신할 수 있다. 도면에는 도시하지 않았지만, 사용자로부터 별도의 입력 장치를 통해 제2 해상도에 대한 정보를 수신할 수 있다. (S120)
사용자로부터 제2 해상도에 대한 정보를 수신하였으면, 그 후 사용자가 설정한 제2 해상도를 가지는 베이어 이미지를 생성하도록 딥 러닝을 통해 생성된 알고리즘을 이용하여 제2베이어 이미지를 생성할 수 있다.(S130, S140)
지금까지 도면을 통해 카메라 모듈(100) 및 이를 포함하는 이동 단말 장치(400)와 이미지 생성 방법에 대해 알아보았다.
고해상도를 구현하기 위한 딥 러닝 기반의 알고리즘의 경우 프레임 버퍼(Frame Buffer)를 사용하면 일반 PC 및 서버에서는 실시간 구동이 어려운 문제가 존재한다. 그러나 일 실시예에 따른 카메라 모듈 및 이를 포함하는 이동 단말 장치와 이미지 생성 방법은 몇 개의 라인 버퍼(Line Buffer)만을 사용하는 방식으로 고해상도를 구현하므로 비교적 크기가 작은 소형 칩(Chip)으로 구현할 수 있는 장점이 존재한다.
또한, 본 기술이 적용된 칩은 소형의 크기로 제작될 수 있어 탑재되는 장치의 사용 목적에 따라 다양한 위치에 다양한 방식으로 탑재될 수 있어, 설계의 자유도가 증가하며, 딥 러닝에 의해 생성된 알고리즘이 착용된 프로세서를 이용하여 고가의 프로세서가 필요하지 않아 보다 경제적으로 고해상도 이미지를 생성할 수 있는 장점이 존재한다.
또한, 간단한 칩을 카메라 모듈에 탑재하는 방식으로 본 기술의 실시가 가능하므로, 줌 기능이 없는 카메라 모듈 또는 특정 배율에 대한 고정 줌만 지원하는 카메라 모듈에 대해 본 기술을 적용시켜 연속 줌 기능을 사용할 수 있다.
또한, 특정 배율에 대해 광학적으로 연숙 줌만 지원하는 카메라 모듈에도 본 기술을 적용시켜 더 넓은 배율 구간에서 연속 줌 기능을 활용할 수 있는 효과가 존재한다. 또한, 학습된 콘볼루션 신경망을 이용하여 출력된 제1 베이어 데이터는 영상 신호 처리부로 입력된다. AP의 영상 신호 처리부의 디모자이크(demosaic, RGB변환)를 수행하여 RGB 이미지를 생성할 수 있다.
제1 베이어 데이터로부터 제2 베이어 데이터를 생성하는 프로세서는 영상 신호 처리부 전단(AP의 소프트웨어 로직, 즉 ISP 전단 전처리 로직)으로 구현되거나, 별도의 칩으로 구현되거나, 카메라 모듈 내에 구현될 수 있다.
로우(raw) 데이터인 베이어 데이터는 비트 해상도(bit resolution)이 10 비트(bit) 이상인 반면 ISP의 이미지 처리 과정을 거친 RGB 데이터의 경우 ISP에서 Noise/Artifact Reduction and Compression과 같은 데이터 손실이 발생하게 되어, RGB 데이터는 8 비트(bit)로 포함하고 있는 정보가 상당히 줄어든다. 또한, ISP는 톤 맵핑(Tone mapping)과 같은 비선형 처리를 포함하고 있어, 이미지 복원(Image Restoration)을 처리하기 어려워지나, 베이어 데이터는 빛에 비례하는 선형성을 가지고 있어, 이미지 복원을 쉽게 처리할 수 있다. 또한, 신호대잡음비(PSNR) 또한 베이어 데이터를 이용하는 것인 RGB 데이터를 이용하는 것에 비해 동일 알고리즘을 이용하는 경우, 2 내지 4 dB 정도 높아지게 되고, 이를 통해 AP에서 수행되는 multi-frame De-noise 이나 SR 등이 효과적으로 처리될 수 있다. 즉, 베이어 데이터를 이용함으로써, 고해상도 변환의 성능이 향상될 수 있고, 베이어 데이터를 출력하기 때문에, AP의 추가적인 이미지 처리 성능 또한 향상될 수 있다.
상기와 같이, 도 1 내지 도 12를 참조하여 본 발명의 제1 실시예에 따른 카메라 장치 및 카메라 장치의 이미지 생성 방법에 대해 설명하였다. 이하, 도 13 내지 도 18을 참조하여 본 발명의 제2 실시예에 따른 이미지 처리 장치 및 이미지 처리 방법에 대해 설명하도록 한다. 본 발명의 제2 실시예에 따른 이미지 처리 장치 및 이미지 처리 방법에 대한 상세한 설명은 본 발명의 제1 실시예에 따른 이미징 과정, 카메라 모듈, 이미지 생성부, 이미징 장치, 이동 단말 장치, 카메라 장치, 및 이미징 방법과 명칭, 용어, 내지 기능에 있어서, 각 실시예에 대한 상세한 설명에 기초하며, 서로 같거나 상이할 수 있다.
도 13은 본 발명의 제2 실시예에 따른 이미지 처리 장치(1130)의 블록도이다. 본 발명의 제2 실시예에 따른 이미지 처리 장치(1130)는 카메라 모듈(1110) 및 AP 모듈(1120)로 구성되고, AP 모듈(1120)은 제1 처리부(1121) 및 제2 처리부(1122)로 구성된다. 또한, 하나 이상의 프로세서를 더 포함하거나, 하나 이상의 메모리 또는 통신부를 더 포함할 수 있다. 이미지 처리 장치(1130)는 이미지를 처리하는 기능을 포함하는 장치를 의미하며, 이미지를 처리하는 모듈부터 이미지 처리부를 포함하는 이동 단말과 같이, 전자 장치 중 어느 하나를 의미할 수 있다.
카메라 모듈(1110)은 이미지 센서를 포함한다.
보다 구체적으로, 카메라 모듈(1110)은 이미지 센서에서 제1 해상도의 베이어 데이터를 출력한다. 카메라 모듈(1110)은 도 14와 같이 렌즈(1111), 이미지 센서(1112), 이미지 센서(1112)가 실장되는 센서 보드(1113), 및 외부와 데이터를 송수신하는 커넥터(1114)로 구성될 수 있다. 상기 구성들이 하나의 모듈로 형성될 수 있다. 즉, 카메라 모듈 이외의 구성들과 구별되는 하나의 독립적인 장치로, 다른 모듈과는 데이터를 송수신하는 형태로 구현될 수 있다.
렌즈(1120)는 유리와 같이 투명한 물질의 면을 구면으로 곱게 갈아 물체로부터 오는 빛을 모으거나 발산시켜 광학적 상을 맺게 하는 장치로서, 카메라 모듈(1110)에 사용되는 일반적인 렌즈(1111)는 복수 개의 서로 다른 특징을 가지는 렌즈를 구비할 수 있다. 렌즈(1111) 상부에는 외부로부터 유입되는 빛을 선택적으로 차단하는 역할을 하는 필터가 형성될 수 있다.
이미지 센서(1112)는 이미지 센서(1110)는 카메라 모듈의 렌즈를 통해 들어오는 빛을 전기 신호로 변화하는 CMOS(Complementary Metal Oxide Semiconductor) 또는 CCD(Charge Coupled Device)와 같은 이미지 센서를 포함할 수 있다. 이미지 센서(1112)는 획득한 이미지를 컬러 필터를 통해 베이어 패턴(Bayer Pattern)의 정보를 포함하는 베이어 데이터를 생성할 수 있다. 베이어 데이터는 이미지 센서(1112)의 스펙 또는 해당 이미지를 생성시 설정된 줌 배율에 따라 제1 해상도를 가질 수 있다. 이미지 센서(1112)는 센서 보드(1113)상에 형성될 수 있다. 렌즈(1111)도 센서 보드(1113) 상에 형성될 수 있다.
렌즈(1111)를 통해 전달되는 광 신호는 R, G, B 색상을 검출할 수 있는 이미지 센서(1112)에 배치된 각 화소를 통해 전기 신호로 변환될 수 있다. 만약 카메라 모듈(1110)의 사양이 500만 화소라고 한다면, R, G, B 색상을 감지할 수 있는 화소가 500만 개 포함된 이미지 센서(1112)가 포함되어 있다고 생각할 수 있다. 화소 수가 500만 개이지만, 실제로 각각의 색(color)을 감지하는 것이 아니라 흑백의 밝기만을 감지하는 단색(monochrome) 화소가 R, G, B 필터 중 어느 하나와 결합된 형태로 볼 수 있다. 즉, 이미지 센서(1112)는 화소수 만큼 배열된 단색 화소 셀들 위에 R, G, B 색상 필터들이 특정한 패턴을 가지고 배치되어 있다. 따라서, R, G, B 색상 패턴이 사용자(즉, 인간)의 시각 특성에 따라 교차하며 배치되는데 이를 베이어 패턴(Bayer Pattern)이라고 부른다. 일반적으로 베이어 패턴은 이미지 형태의 데이터보다 데이터의 양이 작다. 따라서, 고사양의 프로세서를 가지고 있지 않은 카메라 모듈(1110)이 장착된 장치라 하더라도 이미지 형태의 데이터보다 비교적 빠르게 베이어 패턴의 이미지 정보를 전송하고 수신할 수 있으며, 이를 기초로 다양한 해상도의 이미지로 변환시킬 수 있는 장점이 존재한다.
일 예로, 카메라 모듈(1110)이 차량에 탑재되어, 카메라 모듈(1110)이 100 Mbit/s의 전이중(Full-duplex) 전송 속도를 가지는 저전압 차등 신호 방식(LVDS)이 이용되는 환경 내에서도 이미지 처리를 하는데 많은 프로세서가 필요하지 않아 과부하가 걸리지 않아 차량을 이용하는 운전자 또는 운전자의 안전에 위해가 되지 않을 수 있다. 또한, 차량 내 통신망에 의해 전달되는 데이터의 크기를 줄일 수 있어 자율 주행 차량에 적용하더라도 차량에 배치된 복수의 카메라의 작동에 따른 통신 방식, 통신 속도 등에 의해 발생하는 문제를 제거할 수 있는 효과가 존재한다.
또한, 이미지 센서(1112)는 제1 처리부(1121)에 베이어 패턴의 베이어 데이터를 송신함에 있어, 베이어 패턴 형태의 프레임을 1/n 크기로 다운 샘플링한 후의 데이터를 송신할 수 있다. 다운샘플링 이전에 수신된 베이어 패턴의 데이터에 대해 가우시안 필터(Gaussian Filter) 등을 통한 스무딩(smoothing)을 수행한 뒤, 다운 샘플링을 수행할 수 있다. 이후, 다운 샘플링된 영상 데이터를 기반으로 프레임 패킷을 생성한 후, 완성된 프레임 패킷을 제1 처리부(1121)로 송신할 수 있다. 다만, 이러한 기능은 이미지 센서가 아닌 제1 처리부(1121)에서 수행될 수도 있다.
또한, 이미지 센서(1112)는 저전압 차등 시그널링 방식(LVDS)와 같은 시리얼 통신 방식으로 베이어 데이터를 송신하기 위해 베이어 패턴을 직렬 데이터로 변환하는 시리얼라이져(Serializer, 미도시)를 포함할 수 있다. 시리얼라이저는 통상적으로 데이터를 일시적으로 저장하는 버퍼 및 송신되는 데이터의 주기를 형성하는 위상동기루프(PLL)를 포함하거나 함께 구현될 수 있다.
커넥터(1114)는 카메라 모듈(1110)에서 생성된 데이터들을 외부로 출력하거나, 외부로부터 데이터를 수신한다. 커넥터(1114)는 통신부로 형성될 수 있고, 통신 라인 또는 데이터 라인으로 형성될 수 있다. 커넥터(1114)는 이미지 센서(1112)에서 생성되어 출력되는 베이어 데이터를 제1 처리부(1121)로 전달할 수 있다. 여기서, 외부와 연결되는 라인으로 형성되는 커넥터(1114)는 MIPI(Mobile Industry Processor Interface)로 구현될 수 있다. MIPI는 모바일 기기를 구성하는 각각의 구성 요소들 사이의 인터페이스로, 재사용성 및 호환성이 강화된 인터페이스로 DSI(Display Serial Interface) 및 CSI(Camera Serial Interface) 등을 포함한다. 카메라 모듈(1110)의 커넥터(1114)는 CSI로 구현될 수 있다.
카메라 모듈(1110)은 드라이버 IC 및 액츄에이터를 더 포함할 수 있다.
드라이버 IC(Driver IC)는 화면에 문자나 영상 이미지가 표시되도록 패널에 구동신호 및 데이터를 전기신호로 제공하는 반도체(IC)를 의미하며, 이동 단말 장치의 다양한 위치에 배치될 수 있다. 또한, 드라이버 IC는 액츄에이터를 구동할 수 있다. 액츄에이터는 렌즈 또는 렌즈를 포함하는 경통의 위치를 조절하여 초점을 조절할 수 있다. 예를 들어 액츄에이터는 VCM(Voice Coil Motor) 방식일 수 있다. 이때, 렌즈는 가변 초점 렌즈를 포함할 수도 있다. 가변 초점 렌즈를 포함하는 경우 드라이버 IC는 가변 초점 렌즈를 구동할 수 있다. 예를 들어 렌즈는 액체를 포함하는 액체 렌즈를 포함할 수 있으며 이 경우 드라이버 IC는 액체 렌즈의 액체를 조절하여 초점을 조절할 수 있다.
AP 모듈(1120)은 카메라 모듈(1110)로부터 출력되는 제1 출력 데이터를 수신한다.
보다 구체적으로, AP 모듈(1120)은 이미지 센서(1112)로부터 출력되는 제1 베이어 데이터를 카메라 모듈(1110)로부터 수신한다. AP(Application Processor 120)는 모바일용 메모리 칩으로 이미지 처리 장치(1130)가 모바일 장치인 경우, 모바일 장치에서의 각종 어플리케이션 작동과 그래픽 처리를 담당하는 핵심 반도체를 의미한다. AP 모듈(1120)은 컴퓨터의 중앙처리장치(CPU)의 기능과 메모리, 하드디스크, 그래픽 카드 등 기타 장비의 연결을 제어하는 칩셋의 기능을 모두 포함하고 있는 SoC(System on Chip) 형태로 구현될 수 있다.
AP 모듈(1120)은 제1 처리부(1121) 및 제2 처리부(1122)를 포함한다.
제1 처리부(1121)는 제1 해상도의 상기 제1 베이어 데이터를 이용하여 제2 해상도의 제2 베이어 데이터를 생성한다.
보다 구체적으로, 제1 처리부(1121)는 이미지 센서(1112)에서 생성되어 출력되는 이미지 데이터인 베이어 데이터의 해상도를 높인다. 즉, 제1 해상도의 제1 베이어 데이터로부터 제2 해상도의 제2 베이어 데이터를 생성한다. 여기서, 제2 해상도는 제1 해상도와 다른 해상도 값을 가지는 해상도를 의미하며, 제2 해상도는 제1 해상도보다 높을 수 있다. 제1 해상도는 카메라 모듈(1110)이 출력하는 베이어 데이터의 해상도일 수 있고, 제2 해상도는 사용자의 설정에 따라 달라지거나, 미리 설정된 해상도일 수 있다. 여기서, 이미지 센서(1112)는 RGB 이미지 센서일 수 있다.
이미지 처리 장치(1130)는 사용자로부터 해상도에 대한 정보를 입력받는 입력부(미도시)를 더 포함할 수 있다. 사용자는 입력부를 통해 제1 처리부(1121)에서 생성하고자 하는 제2 해상도에 대한 정보를 입력할 수 있다. 예를 들어, 사용자는 해상도가 높은 이미지를 얻고 싶은 경우, 제2 해상도를 제1 해상도와 차이가 많은 해상도로 설정할 수 있으며, 비교적 빠른 시간 내에 새로운 이미지를 취득하고 싶은 경우, 제1 해상도와 차이가 많이 나지 않은 해상도로 제2 해상도를 설정할 수 있다.
제1 처리부(1121)는 슈퍼 레졸루션(SR, Super Resolution)을 수행하기 위하여, 제1 해상도의 제1 베이어 데이터로부터 제2 해상도의 제2 베이어 데이터를 생성할 수 있다. 슈퍼 레졸루션은 저해상도 이미지에 기초하여 고해상도 이미지를 생성하는 과정으로, 물리적인 광학 줌이 아닌 이미지 처리를 통해 저해상도 이미지로부터 고해상도 이미지를 생성하는 디지털 줌의 기능을 한다. 슈퍼 레졸루션은 압축 또는 다운 샘플링된 이미지의 품질을 개선하는 데 이용되거나, 장치적 한계에 따른 해상도의 이미지의 품질을 향상시키는데 이용될 수 있다. 이외에도 다양한 분야에서 이미지의 해상도를 높이는 데 이용될 수 있다.
슈퍼 레졸루션과 같이, 해상도를 높이는 과정을 수행함에 있어서, RGB 이미지가 아닌 베이어 데이터를 이용하여 해상도를 높이는 과정을 수행함으로써, 해상도를 높인 결과의 품질을 높일 수 있다. 베이어 데이터는 이미지 센서(1112)가 생성하여 출력한 로우(Raw) 데이터인 바, 이미지 처리를 수행하여 생성된 RGB 이미지에 비해 많은 정보를 포함하고 있다.
RGB 데이터도 10-bit 이상으로 처리할 가능성도 있으나, 현재는 디스플레이 등에만 적용되고 있으며, 기존 RGB 데이터를 이용하는 경우, 각 채널당 8-bit의 데이터를 가지고 있다. 또한, ISP 단에서 수행되는 demosaic 등에 의해서 정보가 손실되기도 한다. 하지만, 이에 반해, 베이어 데이터는 가공되지 않은 현재 모바일에서 사용되는 포맷상에서 10-bit 데이터를 가지고 있다. 12-bit 또는 14-bit 형태의 베이어 데이터도 가능하다. 이와 같이, 베이어 데이터를 이용하는 경우, 슈퍼 레졸루션에 사용될 입력의 정보량이 RGB 데이터 대비 많아지므로, 베이어 데이터를 이용하여 해상도를 높이는 것이, RGB 이미지를 이용하여 해상도를 높이는 것에 비해 처리 품질이 우수하다.
제1 처리부(1121)는 베이어 데이터뿐만 아니라 IR 데이터의 해상도를 높일 수도 있다. 이미지 센서(1112)가 ToF 센서인 경우, ToF 센서가 생성하여 카메라 모듈(1110)이 출력하는 제3 해상도의 IR 데이터를 이용하여 제4 해상도의 IR 데이터를 생성할 수 있다. 제3 해상도는 ToF 센서(1120)가 출력하는 IR 데이터의 해상도일 수 있고, 제4 해상도는 사용자의 설정에 따라 달라지거나, 미리 설정된 해상도일 수 있다. 제4 해상도는 제2 해상도와 동일한 해상도 값을 가지는 해상도일 수 있다. IR 데이터로부터 생성되는 IR 이미지를 이용하여 베이어 데이터로부터 생성되는 RGB 이미지의 화질을 개선하는 경우, IR 이미지와 RGB 이미지의 크기, 즉 해상도가 동일하도록 IR 데이터가 가지는 제4 해상도가 제2 베이어 데이터가 가지는 제2 해상도와 동일하도록 IR 데이터를 생성할 수 있다.
제2 처리부(1122)는 제1 처리부(1121)로부터 출력되는 제2 출력 데이터를 수신하여 이미지 처리를 수행한다.
보다 구체적으로, 제2 처리부(1122)는 제1 처리부(1121)로부터 출력되는 제2 출력 데이터에 대한 이미지 신호 처리(ISP, Image Signal Processing)를 수행하여 이미지를 생성한다. 제2 처리부(1122)는 ISP 프로세서(Image Signal Processor)일 수 있다. MIPI(Mobile Industry Processor Interface) 통신을 이용하여 제1 처리부(1121)가 출력한 제2 출력 데이터를 수신하고 이미지 신호 처리 과정을 수행할 수 있다.
제2 처리부(1122)는 제2 출력 데이터가 제2 베이어 데이터일 때, 제2 베이어 데이터로부터 RGB 이미지를 생성할 수 있다. 이때, 제2 처리부(1122)는 영상 신호를 처리하면서 복수의 서브 과정을 수행할 수 있다. 예를 들어, 수신한 영상에 대해 감마값 보정(gamma correction), 색채 보정(color correction), 자동 노출(auto exposure correction), 자동 화이트값 보정(auto white balance) 과정 중에서 어느 하나 이상을 수행할 수 있다.
제1 처리부(1121)가 베이어 데이터뿐만 아니라 IR 데이터를 출력하는 경우, 제2 처리부(1122)는 제1 처리부(1121)의 제2 출력 데이터인 베이어 데이터로부터 생성되는 RGB 이미지 및 IR 데이터로부터 생성되는 IR 이미지를 연산하여 화질이 개선된 RGB 이미지를 생성할 수 있다. 저조도 환경에서 베이어 데이터만으로 생성되는 RGB 이미지는 밝기가 낮거나, 잡음이 심해서 화질이 많이 저하된다. 베이어 데이터만으로 RGB 이미지를 생성하는데 발생할 수 있는 화질 저하를 개선하기 위하여, IR 이미지를 이용할 수 있다. 즉, RGB 이미지 및 IR 이미지를 연산하여 화질이 개선된 제2 RGB 이미지를 생성할 수 있다. RGB 이미지 센서 및 ToF 이미지 센서를 포함하는 카메라 모듈(1110)을 이용하여 각 데이터의 해상도를 높이는 줌 기능뿐만 아니라 고해상도 IR 데이터를 이용하여 RGB 이미지의 저조도를 개선할 수 있다. 베이어 데이터 또는 IR 데이터는 해상도를 높이는 과정을 통해 고해상도 RGB 이미지, 고해상도 IR 이미지, 및 고해상도 깊이 이미지를 생성할 수 있다. 또한, IR 이미지는 RGB 이미지보다 해상도가 매우 낮기 때문에 (11Mp이하) IR 데이터를 고해상도로 처리하는 처리부는 칩(chip) 형태로 구현하기 적합하다. 소형화 칩을 만들기 위해서는 알고리즘 로직(logic)과 연산시 필요한 데이터 메모리를 최소화하는 것이 중요한데, 카메라 장치의 해상도가 메모리와 연산량에 직결되기 때문이다. IR 데이터의 해상도를 높이는 과정은 베이어 데이터의 해상도를 높이는 제1 처리부(1121)의 칩을 이용할 수도 있다. 제1 처리부(1121) 칩의 일부를 사용하면서, IR 데이터의 해상도를 높이도록 학습된 weight 값들만 스위칭해주면 된다. 이렇게 해상도가 개선된 IR 이미지를 이용하여 저조도 상황에서의 RGB 이미지를 개선하게 되면 더 높은 개선 효과가 나타날 수 있고, 깊이 영상과 연산(fusion)을 통해 다양한 어플리케이션(예, 얼굴 인식, 물체 인식, 크기 인식 등)에 적용하면 인식률이 향상된다.
제1 처리부(1121)는 상기 제1 베이어 데이터로부터 상기 제2 베이어 데이터를 생성할 수 있다. 여기서, 딥 러닝을 수행한다는 의미는 딥 러닝을 통해 도출된 컨볼루션 신경망을 이용하여 제2 베이어 데이터를 생성하는 것을 의미한다. 딥 러닝 이외의 해상도를 높이는 알고리즘을 이용하여 제1 베이어 데이터로부터 제2 베이어 데이터를 생성할 수도 있다. 슈퍼 레졸루션(SR)에 이용되는 다양한 알고리즘을 이용할 수 있음은 당연하다. 제1 처리부(1121)가 제1 출력 데이터의 해상도를 높이는 과정은 이후에 도 18 및 도 3 내지 도 7을 참조하여 자세히 설명하도록 한다.
제1 처리부(1121)는 제2 처리부(1122)와 구분되는 칩 형태로 구현될 수 있다. 제1 베이어 데이터로부터 제2 베이어 데이터를 생성하는 제1 처리부(1121)와 이미지 신호 처리를 수행하는 제2 처리부(1122)를 별도의 칩으로 구현할 수 있다. 제1 처리부(1121)를 소형 칩으로 형성하여 AP 모듈 상에 적용함으로써 ISP 인 제2 처리부(1122)와 같은 AP 모듈의 기존 구성들을 변경하지 않고, 베이어 데이터의 해상도를 높이는 구성만을 AP 모듈 상에 추가할 수 있다.
도 15과 같이, 이미지 처리 장치(1130)가 모바일 장치인 경우, 카메라 모듈(1110)은 모바일 장치에 포함되는 카메라 장치일 수 있고, 모바일 장치의 각종 어플리케이션을 처리하는 AP 모듈(1120)이 형성되며, 제1 처리부(1121)는 AP 모듈 상에 ISP 프로세서인 제2 처리부(1122)와 구분되는 별도의 칩 형태로 구현될 수 있다.
카메라 모듈(1110)에서 생성되어 출력되는 제1 출력 데이터인 베이어 데이터는 가공되지 않은 로우(Raw) 데이터일 수 있고, 이때, 베이어 데이터는 베이어 로우 데이터(Bayer raw data)로 나타낼 수 있다. 베이어 데이터는 MIPI 통신을 통해 AP 모듈 상에 칩 형태로 형성되는 제1 처리부(1121)가 수신한다. 제1 처리부(1121)는 딥 러닝을 수행하여 학습된 컨볼루션 신경망을 이용하여 제1 베이어 데이터로부터 제2 베이어 데이터를 생성한다. 제1 처리부(1121)는 딥 러닝 네트워크 칩(Deep Learning Network Chip)으로 나타낼 수 있다. 제1 처리부(1121)가 저해상도 베이어 로우 데이터를 수신하여 처리함으로써 MIPI 대역폭에 대한 고려나 카메라 모듈과의 별도의 제어 신호에 대한 추가적인 작업이 필요하지 않다. 따라서, 기존의 장치들을 그대로 이용할 수 있어, 호환성이 높고, 설계의 자유도도 높아진다.
제1 처리부(1121)는 제1 베이어 데이터를 이용하여 제2 베이어 데이터를 생성하고, 제1 처리부(1121)에서 출력되는 제2 출력 데이터는 제2 처리부(1122)가 수신하여 이미지 신호 처리를 수행하여 이미지를 생성한다.
제1 처리부(1121)는 상기 AP 모듈 상에 상기 제2 처리부와 구분되는 IP 블록 형태로 구현될 수도 있다.
IP(intellectual property) 블록이란 재사용 가능한 로직 유닛, 셀, 또는 칩 레이아웃 설계를 지칭하며, 특정 당사자의 지적 재산으로 고려되는 블록을 의미한다. IP 블록은 IP 코어일 수 있다. IP 블록들은 설계에 존재하는 라이센스된 및/또는 자신 소유의 지적 재산 (예컨대, 특허들, 소스 코드 저작권들, 영업 비밀들, 노하우 등)을 갖는 당사자들에 의해 IC 설계들 내에서 빌딩 블록들로서 사용될 수 있다. IP 블록은 AP 모듈과 같은 칩의 설계를 위하여, 해당 칩에 적용될 수 있는 설계 블록으로, IP 블록을 이용함으로써 칩 설계를 용이하게 할 수 있다. 복수의 IP 블록을 이용함으로써 SoC와 같은 칩 설계를 할 수 있다.
AP 모듈에는 모바일 장치에서 기능을 수행하는 다양한 어플리케이션의 IP 블록들을 포함한다. LTE modem, Graphic Processing Unit (GPU), Wi-Fi, Display Processing Unit (DPU), Video Processing Unit (VPU), Digital Signal Processor (DSP), Hexagon Vector eXtensions (HVX), All-Ways Aware, Audio, Central Processing Unit(CPU), Location, Security 등 모바일 장치에 필요한 기능들을 수행하는 어플리케이션의 IP 블록과 카메라 장치로부터 수신하는 이미지 신호에 대해 이미지 신호 처리를 수행하는 제2 처리부(1122)에 해당하는 Camera Image Signal Processor(ISP)를 포함할 수 있다.
제1 처리부(1121) 및 제2 처리부(1122)는 도 16와 같이, AP 모듈의 IP 블록으로 구현될 수 있다. 제2 처리부(1122)는 이미지 신호 처리(ISP) IP 블록일 수 있다. 제1 베이어 데이터로부터 제2 베이어 데이터를 생성하는 제1 처리부(1121)를 IP 블록으로 구성하여 AP 모듈의 기존 칩 상에 추가할 수 있다. 이때, 제1 처리부(1121)의 IP 블록은 제2 처리부인 이미지 신호 처리 IP 블록과 구분되도록 형성될 수 있다.
제1 처리부(1121)가 상기 AP 모듈 상에 제2 처리부와 구분되는 IP 블록 형태로 형성되는 경우, 도 17와 같이, 카메라 모듈(1110)로부터 출력되는 제1 출력 데이터인 베이어 데이터는 AP 모듈의 IP 블록으로 형성된 제1 처리부(1121)가 수신한다. 이후, 제1 처리부(1121) IP 블록에서 제1 베이어 데이터를 이용하여 제2 베이어 데이터를 생성하고, 제1 처리부(1121) IP 블록에서 출력되는 제2 출력 데이터는 제2 처리부(1122) IP 블록이 수신하여 이미지 신호 처리를 수행하여 이미지를 생성한다.
제1 처리부(1121)는 도 18과 같이, 제1 해상도의 제1 베이어 데이터로부터 제2 해상도의 베이어 데이터를 생성하는 딥 러닝 네트워크(Deep Learning Network, 121-1)를 포함하고, 제1 해상도의 제1 베이어 데이터로부터 제2 해상도의 베이어 데이터를 생성하는데 이용되는 딥 러닝 파라미터인 베이어 파라미터(1121-2)를 저장할 수 있다. 딥 러닝 파라미터(1121-2)는 메모리 상에 저장되어 있을 수 있다. 제1 처리부(1121)는 칩(chip)의 형태로 구현되어 제1 베이어 데이터로부터 제2 베이어 데이터를 생성할 수 있다.
제1 처리부(1121)는 하나 이상의 프로세서를 포함할 수 있고, 프로세서를 통해 실행되는 적어도 하나의 프로그램 명령은 하나 이상의 메모리에 저장될 수 있다. 메모리는 S램, D랩 등의 휘발성 메모리를 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 경우에 따라서 메모리(1115)는 플래시 메모리, 롬(Read Only Memory), 이피롬(Erasable Programmable Read Only Memory: EPROM), 이이피롬(Electrically Erasable Programmable Read Only Memory: EEPROM) 등의 비휘발성 메모리를 포함할 수도 있다.
통상적인 카메라 장치 혹은 카메라 모듈(1110)은 이미지 센서로부터 베이어 패턴을 전달받아 색을 입히는 과정(색 보간 과정, Color Interpolation 혹은 Demosaic)을 거쳐 이미지 형태의 데이터를 출력하는데, 이미지에서 베이어 패턴(Bayer Pattern) 정보를 포함하고 있는 정보를 추출하고 추출된 정보를 포함하는 데이터를 외부로 송신할 수 있다. 여기서 베이어 패턴은 카메라 장치 또는 카메라 모듈(1110)에 포함된 광 신호를 전기 신호로 변환하는 이미지 센서가 출력하는 가공되지 않은 데이터(Raw Data)를 포함할 수 있다.
제1 처리부(1121)에 적용되는 딥 러닝 알고리즘(모델)은, 입력된 이미지 데이터의 해상도보다 더 높은 해상도의 이미지 데이터를 생성하는 알고리즘으로서, 딥 러닝 트레이닝(training)을 통해 학습을 반복적으로 수행하여 생성된 최적의 알고리즘을 의미할 수 있다.
딥 러닝이란, 심층 학습으로 표현되기도 하는데, 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계 학습(machine learning)에 관한 알고리즘의 집합을 의미한다.
구체적으로, 딥 러닝은 어떠한 학습 데이터를 컴퓨터가 이해할 수 있는 형태(예를 들어 이미지의 경우는 픽셀(Pixel)정보를 열 벡터로 표현하는 등)로 표현(Representation)하고 이를 학습에 적용하기 위한 모델을 도출하는(어떻게 하면 더 좋은 표현기법을 만들고 또 어떻게 이것들을 학습할 모델을 만들 지에 대한) 학습 기법으로, DNN(Deep Neural Networks) 및 DBN(Deep Belief Networks)등의 학습 기법을 포함할 수 있다.
제1 처리부(1121)는 제1 베이어 데이터로부터 제2 베이어 데이터를 생성한다. 제1 해상도의 제1 베이어 데이터로부터 제2 해상도의 제2 베이어 데이터를 생성하는 방법의 일예로 도 3의 딥 러닝 모델을 이용할 수 있다.
도 3의 딥 러닝 모델은 심층 신경망(Deep Neural Network, DNN) 알고리즘이 적용된 딥 러닝 모델로서, DNN 알고리즘이 적용됨에 따라 새로운 해상도의 데이터를 생성하는 과정을 도시한 도면이다.
심층 신경망(DNN)은 입력층(input layer)과 출력층(output layer) 사이에 다중의 은닉층(hidden layer)이 존재하는 심층(deep) 신경망, 동물의 시각 피질의 구조와 유사하게 뉴런 사이의 연결 패턴을 형성하는 컨볼루션(convolutional) 신경망, 시간에 따라 매 순간마다 신경망을 쌓아 올리는 재귀(recurrent) 신경망으로 구체화될 수 있다.
구체적으로 DNN은 컨볼루션(Convolution)과 서브 샘플링(Sub-Sampling)을 반복하여 데이터의 양을 줄이고, 왜곡시켜 신경망을 분류한다. 즉, DNN은 특징 추출과 분류 행위를 통해 분류 결과를 출력하는데, 주로 이미지를 분석하는데 사용되며, 컨볼루션은 영상 필터링을 의미한다.
도 3을 참조하여 DNN 알고리즘이 적용된 제1 처리부(1121)가 딥 러닝을 수행하는 과정을 설명하면, 제1 처리부(1121)는 제1 해상도의 베이어 데이터(110)를 기초로 배율을 높이고자 하는 영역에 대해 컨볼루션과 서브 샘플링(Sub-Sampling)을 수행한다.
배율을 높인다는 것은, 제1 베이어 데이터 중에서 특정 부분만을 확대하는 것을 의미한다. 따라서, 사용자에 의해 선택되지 않은 부분은 사용자가 관심이 없어 하는 부분이므로 해상도를 높이는 과정을 수행할 필요가 없으므로 사용자에 의해 선택된 부분에 대해서만 컨볼루션과 서브 샘플링 과정을 수행할 수 있다. 이를 통해, 불필요한 연산을 수행하지 않음으로써, 연산량을 줄일 수 있어 처리 속도를 높일 수 있다.
서브 샘플링은 이미지의 크기를 줄이는 과정을 의미한다. 이때, 서브 샘플링은 맥스-풀(Max Pool) 방법 등을 사용할 수 있다. 맥스-풀은 해당 영역에서 최대치를 선택하는 기법인데 뉴런이 가장 큰 신호에 반응하는 것과 유사하다. 서브 샘플링은 노이즈를 감소시키고, 학습의 속도를 증가시킬 수 있는 장점이 존재한다.
컨볼루션과 서브 샘플링이 수행되면, 도 3에 도시된 바와 같이 복수 개의 이미지 데이터(120)가 출력될 수 있다. 여기서, 복수 개의 이미지 데이터(120)은 특징 맵일 수 있다. 그 후 복수 개의 이미지 데이터들을 기초로 업 스케일(Up Scale) 방식으로 이용하여 서로 다른 특징을 가지는 복수 개의 이미지 데이터를 출력시킬 수 있다. 업 스케일 방식은 서로 다른 r^2개의 필터를 이용하여 이미지를 r*r 배로 스케일을 높이는 것을 의미한다.
업 스케일에 따라 복수 개의 이미지 데이터가 도 3에 도시된 바와 같이 출력되면(130), 제1 처리부(1121)는 이러한 이미지 데이터들을 기초로 재조합을 하여 최종적으로 제2 해상도의 제2 베이어 데이터(140)를 출력할 수 있다.
제1 처리부(1121)가 딥 러닝을 수행하여 제1 베이어 데이터로부터 제2 베이어 데이터를 생성하는데 이용하는 딥 러닝 파라미터는 딥 러닝 트레이닝을 통해 도출될 수 있다.
딥 러닝은 트레이닝(Training)과 인퍼런스(inference)로 나눌 수 있다. 트레이닝은 입력 데이터를 통해 딥 러닝 모델을 학습하는 과정을 의미하고, 인퍼런스는 학습된 딥 러닝 모델로 이미지 처리 등을 수행하는 과정을 의미한다. 즉, 트레이닝을 통해 도출되는 딥 러닝 모델의 파라미터들을 적용한 딥 러닝 모델을 이용하여 이미지를 처리한다.
딥 러닝을 수행하여 제1 베이어 데이터로부터 제2 베이어 데이터를 생성하기 위해서, 베이어 데이터 처리에 필요한 제1 딥 러닝 파라미터를 트레이닝을 통해 도출해야 한다. 트레이닝을 통해 제1 딥 러닝 파라미터가 도출되면, 해당 베이어 파라미터를 적용한 딥 러닝 모델을 이용하여 딥 러닝을 수행함으로써 제1 베이어 데이터로부터 제2 베이어 데이터를 생성하는 인퍼런스를 수행할 수 있다. 따라서, 딥 러닝을 수행하기 위한 파라미터를 도출하기 위한 트레이닝 과정이 이루어져야 한다.
딥 러닝 트레이닝 과정은 도 4과 같이 반복적인 학습을 통해 수행될 수 있다. 서로 상이한 해상도를 갖는 제1 샘플 데이터(X)와 제2 샘플 데이터(Z)를 입력 받은 후 이를 기초로 딥 러닝 트레이닝을 수행할 수 있다.
구체적으로, 제1 샘플 데이터(X)를 입력 데이터로 하여 딥 러닝 트레이닝을 수행한 제1 출력 데이터(Y)와 제2샘플 데이터(Z)를 비교하고 분석하여 생성된 파라미터를 기초로 더 높은 해상도의 베이어 데이터를 생성하는 알고리즘을 생성할 수 있다.
여기서 제1 출력 데이터(Y)는 실제 딥 러닝을 수행하여 출력된 데이터이고, 제2 샘플 데이터(Z)는 사용자가 입력하는 데이터로서, 제1 샘플 데이터(X)를 알고리즘에 입력하였을 때, 가장 이상적으로 출력될 수 있는 데이터를 의미할 수 있다. 여기서, 제1 샘플 데이터(X)는 제2 샘플 데이터(Z)를 다운 샘플링하여 해상도를 낮춘 데이터일 수 있다. 이때, 다운 샘플링 정도는, 딥 러닝을 통해 확대할 비율, 즉 디지털 줌을 수행할 줌 비율에 따라 달라질 수 있다. 예를 들어, 딥 러닝을 통해 수행될 줌 비율이 3 배이고, 제2 샘플 데이터(Z)의 해상도가 9MP(Mega Pixel)인 경우, 제1 샘플링 데이터(X)의 해상도가 1MP이어야, 딥 러닝을 수행하여 해상도가 3 배 커진 제1 출력 데이터(Y)의 해상도 9MP이 되는 바, 9M의 제2 샘플 데이터(Z)를 1/9로 다운 샘플링하여 1MP의 제1 샘플 데이터(Y)를 생성할 수 있다.
제1 샘플 데이터(X)의 입력에 따른 딥 러닝 수행을 통해 출력되는 제1 출력 데이터(Y)와 제2 샘플 데이터(Z)를 비교하고 분석하여 두 데이터 간 차이를 산출하고, 두 데이터 간 차이를 줄이는 방향으로 딥 러닝 모델의 파라미터에 피드백을 줄 수 있다. 이때, 두 데이터 간 차이는 손실 함수 중 하나인 평균 제곱 오차인 MSE(Mean Squared Error) 방식을 통해 산출될 수 있다. 이외에 CEE(Cross Entropy Error) 등 다양한 손실함수를 이용할 수 있다.
구체적으로, 출력 데이터에 영향을 주는 파라미터를 분석한 후, 파리미터를 변경하거나 삭제 또는 새로운 파라미터를 생성하는 방식으로 피드백을 주어 제2 샘플 데이터(Z)와 실제 출력 데이터인 제1 출력 데이터(Y)의 차이가 없도록 할 수 있다.
도 4에 도시된 바와 같이 알고리즘에 영향을 주는 레이어가 총 3개이고(L1, L2, L3) 각각의 레이어에 총 8개의 파라미터(P11, P12, P13, P21, P22, P31, P32)가 존재한다고 가정할 수 있다. 이러한 경우, P22 파라미터의 값을 증가시키는 방향으로 파라미터를 변경하였더니 제1 출력 데이터(Y)와 제2 샘플 데이터(Z)의 차이가 증가한다면, 피드백은 P22 파라미터를 감소시키는 방향으로 알고리즘을 변경할 수 있다. 이와 반대로, P33 파라미터의 값을 증가시키는 방향으로 파라미터를 변경하였더니 제1 출력 데이터(Y)와 제2 샘플 데이터(Z)의 차이가 감소하였다면, 피드백은 P33 파라미터를 증가시키는 방향으로 알고리즘을 변경할 수 있다.
즉, 이러한 방법을 통해 딥 러닝이 적용된 알고리즘은 제1 출력 데이터(Y)가 제2 샘플 데이터(Z)와 유사하게 출력되도록 파라미터를 도출할 수 있다. 이때, 제2 샘플 데이터(Z)의 해상도는 제1 출력 데이터(Y)의 해상도와 동일하거나 높을 수 있으며, 제2 샘플 데이터(Z)의 해상도는 제1 출력 데이터(Y)의 해상도와 동일할 수 있다.
딥 러닝 트레이닝은 도 4과 같이, 출력 결과와 비교 대상이 존재하고, 비교 대상과의 비교를 통해 학습을 수행하는 경우뿐만 아니라, 보상치를 이용하여 트레이닝을 수행할 수도 있다. 이 경우, 먼저 주변 환경을 인지하고 현재 환경 상태를 딥 러닝 트레이닝을 수행하는 프로세서에 전달할 수 있다. 프로세서는 이에 맞는 행동(Action)을 수행하고 환경은 다시 그 행동에 따른 보상치를 프로세서에게 알려준다. 그리고 프로세서는 보상치를 최대로 하는 행동을 택하게 된다. 이러한 과정에 통해 학습을 반복적으로 진행함으로써 트레이닝을 수행할 수 있다. 이외에도 다양한 딥 러닝 트레이닝 방법을 이용하여 딥 러닝 트레이닝을 수행할 수 있다.
일반적으로, 딥 러닝을 할 수 있는 프로세서를 소형의 칩으로 구현하기 위해서는 딥 러닝의 프로세스와 메모리 게이트(gate) 수가 최소화가 되어야 하는데, 여기서 게이트 수에 가장 크게 영향을 주는 요소는 알고리즘 복잡도와 클럭(Clock) 당 처리되는 데이터 양이며, 프로세서가 처리하는 데이터의 양은 입력 해상도에 따라 달라진다.
따라서, 일 실시예에 따른 프로세서(1220)는 게이트의 수를 줄이기 위해 입력 해상도를 줄인 후에 나중에 업 스케일링(Up Scailing) 하는 방식으로 고배율의 이미지를 생성하므로 보다 빠르게 이미지를 생성할 수 있는 장점이 존재한다.
예를 들어, 입력 해상도가 8Mp(Mega Pixel)인 이미지를 2배 줌을 해야 한다면 1/4 영역 (2Mp)을 기초로 가로와 세로를 각각 2배씩 업 스케일링(Up scailing) 하여 2배 줌을 한다. 그리고 1/4영역(2Mp)을 1/4 다운 스케일링(down scaling) 하여 해상도가 0.5Mp인 이미지를 딥 러닝 처리 입력 데이터로 사용한 후에, 생성된 이미지를 기초로 가로와 세로를 각각 4배씩 업 스케일링(Up scailing) 하는 방식으로 4배 줌을 하면 2배줌을 한 것과 동일한 영역의 줌 영상을 생성할 수 있다.
따라서, 입력 해상도 손실에 따른 성능 저하를 방지하기 위해 딥 러닝이 해상도 손실에 대응되는 배율만큼 학습을 시켜서 이미지를 생성하므로, 성능 저하를 최소화할 수 있는 장점이 존재한다.
또한, 고해상도의 이미지를 구현하기 위한 딥 러닝 기반의 알고리즘들은 일반적으로 프레임 버퍼(Frame Buffer)를 사용하는데, 프레임 버퍼의 경우 일반 PC 및 서버에서는 그 특성상 실시간 구동이 어려울 수 있다.
그러나, 본 발명의 제2 실시예에 따른 제1 처리부(1121)는 딥 러닝을 통해 이미 생성되어 있는 알고리즘 적용하므로 저사양 카메라 모듈 및 이를 포함하는 여러 장치들에서 쉽게 적용이 가능하며, 이러한 알고리즘을 구체적으로 적용함에 있어서 몇 개의 라인 버퍼(Line Buffer)만을 사용하는 방식으로 고해상도를 구현하므로, 비교적 크기가 작은 소형 칩(Chip)으로 프로세서를 구현할 수 있는 효과 또한 존재한다.
제1 처리부(1121)는 상기 제1 베이터 데이터를 라인별로 저장하는 적어도 하나의 라인 버퍼를 포함하고, 상기 라인 버퍼에 소정 개수 라인의 제1 베이어 데이터가 저장된 경우, 상기 라인 버퍼에 저장된 제1 베이어 데이터에 대한 제2 베이어 데이터 생성을 수행할 수 있다. 제1 처리부(1121)는 제1 베이어 데이터를 라인별로 나누어 수신하는데, 라인별로 수신하는 제1 베이어 데이터를 라인 버퍼에 저장한다. 제1 처리부(1121)는 모든 라인의 제1 베이어 데이터를 수신한 후, 제2 베이어 데이터를 생성하지 않고, 일정 개수 라인의 제1 베이어 데이터가 저장된 경우, 상기 라인 버퍼에 저장된 제1 베이어 데이터에 대한 제2 베이어 데이터 생성을 수행할 수 있다. 해상도를 9배 즉, 3 배 줌에 해당하는 해상도를 높이려는 경우, 3 개 라인의 제1 베이어 데이터가 라인 버퍼에 저장된 경우, 저장된 3 개 라인의 제1 베이어 데이터에 대한 제2 베이어 데이터를 생성한다. 라인 버퍼가 형성되는 구체적인 구성은 도 5를 참조하여 설명하도록 한다.
도 5를 참조하면, 제1 처리부(121)는 제1 베이어 데이터를 수신하는 복수 개의 라인 버퍼(11), 라인 버퍼를 통해 출력된 제1 베이어 데이터를 파장대역 별로 배열하는 제1 배열 데이터를 생성하는 제1 데이터 정렬부(221), 딥 러닝을 수행하는 딥 러닝 프로세서(222), 딥 러닝 프로세서(222)를 통해 출력된 제2 배열 데이터를 베이어 패턴으로 배열하여 제2 베이어 데이터를 생성하는 제2 데이터 정렬부(223) 및 제2 데이터 정렬부(223)를 통해 출력된 제2 베이어 데이터를 출력하는 복수 개의 라인 버퍼(12)를 포함할 수 있다.
제1 베이어 데이터는 앞서 설명한 베이어 패턴을 포함하고 있는 정보로서, 도 5에서 배이어 데이터로 기술하였지만, 베이어 이미지 또는 베이어 패턴으로 정의될 수도 있다.
또한, 도 5에서는 제1 데이터 정렬부(221)와 제2 데이터 정렬부(223)를 편의상 별개의 구성요소로 도시하였지만 이에 한정되는 것은 아니고, 딥러닝 프로세서(222)가 후술할 제1 데이터 정렬부(221)와 제2 데이터 정렬부(223)가 수행하는 기능을 수행할 수도 있다.
도 5를 참고하면, 제1 해상도의 제1 베이어 데이터는 사용자에 의해 선택된 영역에 대한 이미지 정보를 (n+1)개의 라인 버퍼(11a, 11b, ~ 11n. 11n+1)로 전송될 수 있다. 앞서 설명한 바와 같이 사용자에 의해 선택된 영역에 대해서만 제2 해상도의 베이어 이미지를 생성하므로 사용자에 의해 선택되지 않은 영역에 대한 이미지 정보는 라인 버퍼(11)로 송신되지 않는다.
구체적으로, 제1 베이어 데이터는 복수 개의 행 데이터를 포함하고 있고, 이러한 복수 개의 행 데이터는 복수 개의 라인 버퍼(11)를 통해 제1데이터 정렬부(221)로 송신될 수 있다.
예를 들어, 딥 러닝 프로세서(222)에 의해 딥 러닝을 수행해야 하는 영역이 3 X 3 영역이라면 총 3개의 라인이 제1 데이터 정렬부(221) 또는 딥 러닝 프로세서(222)로 동시에 송신되어야 딥 러닝을 수행할 수 있다. 따라서, 3 개의 라인 중 첫 번째 라인에 대한 정보는 제1 라인버퍼(11a)로 송신된 후, 제1 라인버퍼(11a) 저장되며, 3개의 라인 중 두 번째 라인에 대한 정보는 제2 라인버퍼(11b)로 송신된 후, 제2 라인버퍼(11b) 저장될 수 있다.
그 후 세 번째 라인의 경우, 이후로 수신되는 라인에 대한 정보가 없으므로 라인 버퍼(11)에 저장되지 않고 바로 딥 러닝 프로세서(222) 또는 제1 데이터 정렬부(221)로 송신될 수 있다.
이때, 제1 데이터 정렬부(221) 또는딥 러닝 프로세서(222)는 3개의 라인에 대한 정보를 동시에 수신해야 하므로 제1 라인 버퍼(11a)와 제2 라인 버퍼(11b)에 저장되어 있는 첫 번째 라인에 대한 정보와 두 번째 라인에 대한 정보도 동시에 딥 러닝 프로세서(222) 또는 제1 이미지 정렬부(219)로 송신될 수 있다.
이와 반대로, 딥 러닝 프로세서(222)에 의해 딥 러닝을 수행해야 하는 영역이 (N+1) x (N+1) 영역이라면 총 (N+1)개의 라인이 제1 데이터 정렬부(221) 또는 딥 러닝 프로세서(222)로 동시에 송신되어야 딥 러닝을 수행할 수 있다. 따라서, (N+1)개의 라인 중 첫 번째 라인에 대한 정보는 제1 라인버퍼(11a)로 송신된 후, 제1 라인버퍼(11a) 저장되며, (N+1) 개의 라인 중 두 번째 라인에 대한 정보는 제2 라인버퍼(11b)로 송신된 후, 제2 라인버퍼(11b) 저장될 수 있으며, (N+1) 개의 라인 중 N 번째 라인에 대한 정보는 제N 라인버퍼(11n)로 송신된 후, 제N 라인버퍼(11n) 저장될 수 있다.
그 후 (N+1) 번째 라인의 경우, 이후로 수신되는 라인에 대한 정보가 없으므로 라인 버퍼(11)에 저장되지 않고 바로 딥 러닝 프로세서(222) 또는 제1 데이터 정렬부(221)로 송신될 수 있으며, 앞서 설명한 바와 같이 이때, 제1 데이터 정렬부(221) 또는 딥 러닝 프로세서(222)는 N+1개의 라인에 대한 정보를 동시에 수신해야 하므로 라인 버퍼(11a~11n)에 저장되어 있는 첫 번째 라인부터 n번째 라인에 대한 정보도 동시에 딥 러닝 프로세서(222) 또는 제1 이미지 정렬부(219)로 송신될 수 있다.
제1 이미지 정렬부(219)는 라인 버퍼(11)로부터 베이어 데이터를 수신한 후 베이어 데이터를 파장대역 별로 배열하여 제1 배열 데이터를 생성한 후, 생성된 제1 배열 데이터를 딥 러닝 프로세서(222)로 송신할 수 있다.
제1 이미지 정렬부(219)는 수신한 정보를 특정 파장 또는 특정 색상별(Red, Green, Blue)로 분류하여 배열한 제1 배열 데이터를 생성할 수 도 있다.
그 후, 딥 러닝 프로세서(222)는 제1 이미지 정렬부(219)를 통해 수신한 제1배열 데이터를 기초로 딥 러닝을 수행하여 제2 배열 데이터를 생성할 수 있다.
따라서, 딥 러닝 프로세서(222)는 제1 이미지 정렬부(219)를 통해 수신한 제1 배열 데이터를 기초로 딥 러닝을 수행하여 제1 해상보다 높은 해상도의 제2 해상도의 제2 배열 데이터를 생성할 수 있다.
예를 들어, 앞서 설명한 바와 같이 3 x 3 영역에 대해 제1 배열 데이터를 수신하면 3 x 3 영역에 대해서 딥 러닝을 수행하고, (n+1) x (n+1) 영역에 대해 제1배열 데이터를 수신하면 (n+1) x (n+1) 영역에 대해서 딥 러닝을 수행할 수 있다.
그 후, 딥 러닝 프로세서(222)에 의해 생성된 제2 배열 데이터는 제2 데이터 정렬부(223)로 송신되며, 제2 데이터 정렬부(223)는 제2 배열 데이터를 베이어 패턴을 가지는 제2 베이어 데이터로 변환시킬 수 있다.
그 후 변환된 제2 베이어 데이터는 복수 개의 라인 버퍼(12a)를 통해 외부로 출력되며, 출력된 제2 베이어 데이터는 또 다른 과정의 의해 제1 해상도보다 높은 해상도인 제2 해상도를 가지고 있는 베이어 데이터로 생성할 수 있다.
도 6 및 도 7은 제1 처리부(1121)에 의해 제1 해상도의 제1 베이어 데이터의 이미지가 제2 해상도의 제2 베이어 데이터로 변환된 이미지를 도시한 도면이다.
제1 해상도의 베이어 데이터(10)에서 사용자가 특정 영역을 선택한 경우, 그 영역에 대해 제1 처리부(1121)는 해상도를 변환하고, 그 결과 도 6 및 도 7에 도시된 바와 같이 제2 해상도의 베이어 데이터(40)가 생성될 수 있다.
제1 처리부(1121)는 상기 제2 베이어 데이터를 전처리할 수 있다. 제1 처리부(1121)는 제1 해상도의 제1 베이어 데이터를 이용하여 제2 해상도의 제2 베이어 데이터를 생성하고, 생성된 제2 베이어 데이터에 대한 전처리를 수행할 수 있다. 이때, 제1 처리부(1121)는 화이트 발란스(white balance), 디노이징(de-nosing), 디포커스(de-focus), 디블러(de-blur), 디모자이크(di-mosaic) 중 적어도 하나 이상을 수행할 수 있다. 이외에도, 전처리에 해당하는 다양한 전처리를 수행할 수 있다.
제1 처리부(1121)에서 베이어 데이터의 해상도를 높이는 슈퍼 레졸루션뿐만 아니라, 제2 처리부(1122)에서 처리할 수 있는 이미지 전처리를 수행함으로써 제2 처리부(1122)의 연산량을 줄일 수 있다. 즉, 제2 처리부(1122)의 전처리 기능을 제1 처리부(1121)가 수행하여 기능을 분담하여, ISP의 부담을 줄일 수 있다. 제1 처리부(1121)는 전처리를 수행하는 전처리부를 더 포함할 수도 있다.
이때, 제1 처리부(1121)는 딥 러닝을 수행하여 학습된 컨볼루션 신경망을 이용하여 상기 제2 베이어 데이터를 전처리할 수 있다. 제1 처리부(1121)가 수행하는 전처리 과정 중 베이어 데이터의 해상도를 높이는 과정과 동일한 딥 러닝 네트워크를 이용하여 처리할 수 있는 전처리 과정이 있는 경우, 해당 전처리 과정에 대한 딥 러닝 파라미터를 저장하고, 해당 딥 러닝 파라미터를 이용하여 전처리 과정을 수행할 수 있다. 하나 이상의 전처리 과정에 대한 별도의 딥 러닝 네트워크 및 해당 딥 러닝 파라미터들을 저장하는 메모리를 포함할 수도 있다.
제1 처리부(1121)는 상기 제2 베이터 데이터를 전처리하여 RGB 이미지 또는 ycbcr 이미지를 생성할 수 있다. 제2 해상도를 가지는 제2 베이어 데이터에 대해 전처리를 수행함으로써 전처리된 제3 베이어 데이터를 생성하거나, 나아가, 전처리를 통해 RGB 이미지 또는 RGB 이미지에서 변환된 ycbcr 이미지를 생성할 수 있다. 제1 처리부(1121)는 복수의 전처리 과정을 수행하되, 수행되는 전처리 과정에 따라 다양한 데이터를 출력할 수 있다. 즉, 제2 베이어 데이터로부터 RGB 이미지 이전에 해당하는 제3 베이어 데이터를 생성할 수 있다. 제3 베이어 데이터는 RGB 이미지는 아니나, 화이트 발란스와 같은 전처리를 통해, 화이트 발란스가 수행된 베이어 데이터인 제3 베이어 데이터를 생성할 수 있다. 또는, 제2 베이어 데이터에 대해 RGB 이미지를 생성하기 위한 전처리 과정들을 수행하여 RGB 이미지를 생성할 수 있다. 나아가, 상기와 같이 생성된 RGB 이미지를 ycbcr 변환을 통해 ycbcr 이미지를 생성할 수 있다. RGB 이미지에서 ycbcr 이미지로 변환한 경우, 디스플레이 상에 바로 ycbcr 이미지를 표시할 수 있다.
제1 처리부(1121)에서 수행되는 전처리과정은 사용자의 설정, 사용환경, 또는 제2 처리부(1122)인 ISP의 작업상태에 따라 달라질 수 있다. 제1 처리부(1121)는 전처리를 수행하여 제2 처리부(1122)인 ISP의 기능을 분담하고, 이는 사용자의 설정에 따라 어떤 전처리 과정을 제1 처리부(1121)에서 수행할지 설정될 수 있다. 또는, 사용환경이나, ISP의 현재 작업상황에 따라 ISP 기능의 분담이 필요한 경우 제1 처리부(1121)에서 어떤 전처리 과정을 수행할지 설정될 수 있다. 이는 하나 이상의 프로세서에서 환경 정보들을 수신하여 제1 처리부(1121)에서의 전처리 수행 설정값을 결정할 수 있다. 또는, 룩업 테이블(LUT)로 환경 정보 등에 따른 설정값들을 저장하여, 제1 처리부(1121)에서의 전처리 수행 설정값을 적용할 수 있다.
본 발명의 다른 실시예에 따른 이미지 처리 장치(2100)는 도 19와 같이, 카메라 모듈(2110), 베이어 데이터 처리모듈(2120), 및 AP 모듈(2130)로 구성될 수 있다. 도 13 또는 도 16의 이미지 처리 장치(1130)의 제1 처리부(1121)를 AP 모듈 내가 아닌 별도의 모듈인 베이어 데이터 처리모듈(2120)로 구성할 수 있다. 베이어 데이터 처리모듈(2120)을 AP 모듈(2130)과 별도의 모듈로 구현하는 것 이외에는 도 19의 이미지 처리 장치(2100)에서 수행되는 이미지 처리 과정은 도 13의 이미지 처리 장치(1130)에서 수행되는 이미지 처리 과정과 대응되는바, 이하, 도 19의 이미지 처리 장치(2100)에 대해 도 13의 이미지 처리 장치(1130)에서 수행되는 이미지 처리 과정과 중복되는 설명은 생략하여 간략하게 설명하도록 한다.
카메라 모듈(2110)은 이미지 센서를 포함하고, 베이어 데이터 처리모듈(2120)은 카메라 모듈(2110)로부터 출력되는 제1 해상도의 제1 베이어 데이터를 이용하여 제2 해상도의 제2 베이어 데이터를 생성한다. 베이어 데이터 처리모듈(2120)은, AP 모듈(2130)과 구분되는 별도의 칩 형태로 구현될 수 있다.
베이어 데이터 처리모듈(2120)은 상기 제1 베이어 데이터로부터 상기 제2 베이어 데이터를 생성할 수 있고, 베이어 데이터 처리모듈(2120)은, 상기 제2 베이어 데이터를 전처리하는 전처리부를 포함할 수 있다. 이때, 전처리부는 상기 제2 베이어 데이터를 전처리함으로써, 제3 베이어 데이터, RGB 이미지, 또는 ycbcr 이미지 중 어느 하나를 생성할 수 있다.
AP 모듈(2130)은 베이어 데이터 처리모듈(2120)로부터 출력되는 출력 데이터를 수신하여 이미지 처리를 수행한다.
본 발명의 또 다른 실시예에 따른 이미지 처리 장치는 제1 해상도의 제1 베이어 데이터를 이용하여 제2 해상도의 제2 베이어 데이터를 생성하는 제1 처리부를 포함하되, 상기 제1 처리부는 AP 모듈에 형성되는 이미지 신호 처리부와 구분되어 형성될 수 있다. 여기서, 제1 처리부(1121)는 도 13 또는 도 16의 이미지 처리 장치(1130)의 제1 처리부(1121), 도 19의 이미지 처리 장치(2100)의 베이어 데이터 처리모듈(2120)에 대응되는 구성으로, 본 발명의 또 다른 실시예에 따른 이미지 처리 장치는 제1 처리부를 포함할 수 있고, 제1 처리부는 상기 제1 베이어 데이터로부터 상기 제2 베이어 데이터를 생성할 수 있고, 상기 제2 베이어 데이터를 전처리하는 전처리부를 포함할 수 있다. 이때, 전처리부는 상기 제2 베이어 데이터를 전처리함으로써, 제3 베이어 데이터, RGB 이미지, 또는 ycbcr 이미지 중 어느 하나를 생성할 수 있다.
도 20은 본 발명의 제2 실시예에 따른 이미지 처리 방법의 흐름도이고, 도 21는 본 발명의 다른 실시예에 따른 이미지 처리 방법의 흐름도이다. 도 20 내지 도 21의 각 단계에 대한 상세한 설명은 도 13 내지 도 19의 이미지 처리 장치에 대한 상세한 설명에 대응되는바, 이하, 중복되는 설명은 생략하도록 한다.
본 발명의 제2 실시예에 따른 이미지 처리 방법은 하나 이상의 프로세서를 포함하는 이미지 처리 장치에서 이미지를 처리하는 방법에 관한 것이다.
S11 단계에서, 제1 해상도를 가지는 제1 베이어 데이터를 수신하고, S12 단계에서 딥 러닝을 수행하여 학습된 컨볼루션 신경망을 이용하여 S13 단계에서 제2 해상도를 가지는 제2 베이어 데이터를 생성한다.
S13 단계 이후, S21 단계에서 제2 베이어 데이터에 대해 전처리를 수행할 수 있고, 전처리를 수행한 이후, S22 단계에서 제3 베이어 데이터, RGB 이미지 또는 ycbcr 이미지 중 어느 하나를 생성하는 단계를 더 포함할 수 있다. 이후, 이미지 신호 처리를 통해 디스플레이에 출력될 수 있는 이미지를 생성할 수 있는 단계를 더 포함할 수 있다.
본 실시예에 따른 변형례는 도 1 내지 도 12를 참조하여 설명한 제1 실시예의 일부 구성과 도 13 내지 도 21을 참조하여 설명한 제2 실시예의 일부 구성을 함께 포함할 수 있다. 즉, 변형례는 도 1 내지 도 12를 참조하여 설명한 실시예를 포함하되 도 1 내지 도 12를 참조하여 설명한 실시예의 일부 구성이 생략되고 대응하는 도 13 내지 도 21을 참조하여 설명한 실시예의 일부 구성을 포함할 수 있다. 또는, 변형례는 도 13 내지 도 21을 참조하여 설명한 실시예의 일부 구성이 생략되고 대응하는 도 1 내지 도 12를 참조하여 설명한 실시예의 일부 구성을 포함할 수 있다.
이상에서 실시예들에 설명된 특징, 구조, 효과 등은 적어도 하나의 실시예에 포함되며, 반드시 하나의 실시예에만 한정되는 것은 아니다. 나아가, 각 실시예에서 예시된 특징, 구조, 효과 등은 실시예들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시예들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 실시예의 범위에 포함되는 것으로 해석되어야 할 것이다.
한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
지금까지 실시 예들이 비록 한정된 실시 예와 도면에 의해 설명되었으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 상기 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 실시 예들 및 특허 청구 범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (10)

  1. 제1 해상도를 가지는 제1 베이어 데이터를 생성하는 이미지 센서; 및
    상기 제1 베이어 데이터를 이용하여 제2 해상도를 가지는 제2 베이어 데이터를 출력하는 프로세서를 포함하는 카메라 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    제1 베이어 데이터를 이용하여 제2 해상도를 가지는 제2 베이어 데이터를 출력하도록 학습된 컨볼루션 신경망을 포함하는 카메라 장치.
  3. 제2항에 있어서,
    상기 컨볼루션 신경망의 트레이닝 세트는,
    제1 해상도를 가지는 제1 베이어 데이터 및 제2 해상도를 가지는 제2 베이어 데이터를 포함하는 카메라 장치.
  4. 제1항에 있어서,
    상기 제2 해상도는 상기 제1 해상도보다 높은 카메라 장치.
  5. 제1항에 있어서,
    상기 제2 베이어 데이터를 Image Signal Processor로 출력하는 카메라 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 베이어 데이터를 수신하는 수신부; 및
    상기 제1 베이어 데이터를 이용하여 제2 해상도를 가지는 제2 베이어 데이터를 출력하는 콘볼루션 신경망을 포함하는 카메라 장치.
  7. 제1 해상도를 가지는 제1 베이어 데이터를 입력받는 단계; 및
    학습된 콘볼루션 신경망을 이용하여 상기 제1 베이어 데이터로부터 제2 해상도를 가지는 제2 베이어 데이터를 출력하는 단계를 포함하는 방법.
  8. 제7항에 있어서,
    상기 제1 베이어 데이터는 이미지 센서로부터 출력되는 데이터인 방법.
  9. 제7항에 있어서,
    상기 컨볼루션 신경망의 트레이닝 세트는,
    제1 해상도를 가지는 제1 베이어 데이터 및 제2 해상도를 가지는 제2 베이어 데이터를 포함하는 방법.
  10. 제7항에 있어서,
    상기 제2 베이어 데이터를 Image Signal Processor로 출력하는 방법.
PCT/KR2020/007738 2019-06-13 2020-06-15 카메라 장치 및 카메라 장치의 이미지 생성 방법 WO2020251337A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2021572932A JP2022536327A (ja) 2019-06-13 2020-06-15 カメラ装置及びカメラ装置のイメージ生成方法
EP20823426.0A EP3985961A4 (en) 2019-06-13 2020-06-15 CAMERA DEVICE AND METHOD FOR GENERATING CAMERA DEVICE IMAGES
US17/617,832 US20220253978A1 (en) 2019-06-13 2020-06-15 Camera device and image generation method of camera device
CN202080057178.3A CN114270799B (zh) 2019-06-13 2020-06-15 相机装置以及相机装置的图像生成方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020190070298A KR102242939B1 (ko) 2019-06-13 2019-06-13 카메라 장치 및 카메라 장치의 이미지 생성 방법
KR10-2019-0070298 2019-06-13
KR10-2019-0130677 2019-10-21
KR1020190130677A KR20210047070A (ko) 2019-10-21 2019-10-21 이미지 처리 장치 및 이미지 처리 방법

Publications (1)

Publication Number Publication Date
WO2020251337A1 true WO2020251337A1 (ko) 2020-12-17

Family

ID=73781462

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/007738 WO2020251337A1 (ko) 2019-06-13 2020-06-15 카메라 장치 및 카메라 장치의 이미지 생성 방법

Country Status (6)

Country Link
US (1) US20220253978A1 (ko)
EP (1) EP3985961A4 (ko)
JP (1) JP2022536327A (ko)
CN (1) CN114270799B (ko)
TW (1) TW202105028A (ko)
WO (1) WO2020251337A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030020357A (ko) * 2000-07-06 2003-03-08 더 트러스티스 오브 콜롬비아 유니버시티 인 더 시티 오브 뉴욕 데이터 해상도를 향상시키는 방법 및 장치
KR101791573B1 (ko) * 2016-10-21 2017-10-31 서강대학교산학협력단 컨볼루션 신경망을 이용한 비디오 스트림에 대한 수퍼 해상도 장치 및 방법
JP2018151747A (ja) * 2017-03-10 2018-09-27 株式会社ツバサファクトリー 超解像度処理装置、超解像度処理方法およびコンピュータプログラム
KR20180122548A (ko) * 2017-05-03 2018-11-13 삼성전자주식회사 이미지를 처리하는 방법 및 장치
KR20190021756A (ko) * 2017-08-23 2019-03-06 엘지디스플레이 주식회사 영상 처리 방법 및 이를 이용한 표시 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180008244A (ko) * 2016-07-14 2018-01-24 엘지이노텍 주식회사 이미지 생성 방법 및 생성 장치
US10643306B2 (en) * 2017-10-11 2020-05-05 Qualcomm Incoporated Image signal processor for processing images
US10733714B2 (en) * 2017-11-09 2020-08-04 Samsung Electronics Co., Ltd Method and apparatus for video super resolution using convolutional neural network with two-stage motion compensation
CN109658348A (zh) * 2018-11-16 2019-04-19 天津大学 基于深度学习的联合噪声估计和图像去噪方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030020357A (ko) * 2000-07-06 2003-03-08 더 트러스티스 오브 콜롬비아 유니버시티 인 더 시티 오브 뉴욕 데이터 해상도를 향상시키는 방법 및 장치
KR101791573B1 (ko) * 2016-10-21 2017-10-31 서강대학교산학협력단 컨볼루션 신경망을 이용한 비디오 스트림에 대한 수퍼 해상도 장치 및 방법
JP2018151747A (ja) * 2017-03-10 2018-09-27 株式会社ツバサファクトリー 超解像度処理装置、超解像度処理方法およびコンピュータプログラム
KR20180122548A (ko) * 2017-05-03 2018-11-13 삼성전자주식회사 이미지를 처리하는 방법 및 장치
KR20190021756A (ko) * 2017-08-23 2019-03-06 엘지디스플레이 주식회사 영상 처리 방법 및 이를 이용한 표시 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3985961A4 *

Also Published As

Publication number Publication date
CN114270799A (zh) 2022-04-01
US20220253978A1 (en) 2022-08-11
CN114270799B (zh) 2024-04-05
JP2022536327A (ja) 2022-08-15
TW202105028A (zh) 2021-02-01
EP3985961A1 (en) 2022-04-20
EP3985961A4 (en) 2023-05-03

Similar Documents

Publication Publication Date Title
WO2021230708A1 (en) Image processing method, electronic device and readable storage medium
WO2016013902A1 (en) Image photographing apparatus and image photographing method
WO2020050686A1 (en) Image processing device and method
WO2017018612A1 (en) Method and electronic device for stabilizing video
WO2021006366A1 (ko) 디스플레이 패널의 색상을 조정하는 인공 지능 장치 및 그 방법
WO2013147488A1 (en) Image processing apparatus and method of camera device
WO2015141925A1 (en) Photographing apparatus, method of controlling the same, and computer-readable recording medium
WO2021107406A1 (en) Electronic device, control method thereof, and system
WO2019017698A1 (ko) 전자 장치 및 전자 장치에서 하이 다이나믹 레인지 이미지 데이터를 압축하는 방법
WO2019017641A1 (ko) 전자 장치 및 전자 장치의 이미지 압축 방법
WO2022102972A1 (ko) 이미지 센서를 포함하는 전자 장치 및 그 동작 방법
WO2021118111A1 (ko) 이미지 처리 장치 및 이미지 처리 방법
WO2022010122A1 (ko) 영상을 제공하는 방법 및 이를 지원하는 전자 장치
WO2022039424A1 (ko) 흔들림을 보정하는 방법 및 그 전자 장치
WO2022154387A1 (ko) 전자 장치 및 그의 동작 방법
WO2022146100A1 (en) Image sharpening
WO2016017906A1 (ko) 디스플레이 장치, 디스플레이 보정 장치, 디스플레이 보정 시스템 및 디스플레이 보정 방법
WO2020017936A1 (ko) 전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법
WO2022071647A1 (en) Video quality assessment method and apparatus
WO2017014404A1 (en) Digital photographing apparatus and digital photographing method
WO2020251337A1 (ko) 카메라 장치 및 카메라 장치의 이미지 생성 방법
WO2020145744A1 (ko) 카메라 장치 및 이를 구비하는 전자 장치
WO2020251336A1 (ko) 카메라 장치 및 카메라 장치의 이미지 생성 방법
WO2021075799A1 (ko) 이미지 처리 장치 및 이미지 처리 방법
WO2022005002A1 (ko) 이미지 센서를 포함하는 전자 장치

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021572932

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2020823426

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2020823426

Country of ref document: EP

Effective date: 20220113