WO2024076101A1 - Artificial-intelligence-based image processing method and electronic device for supporting same - Google Patents

Artificial-intelligence-based image processing method and electronic device for supporting same Download PDF

Info

Publication number
WO2024076101A1
WO2024076101A1 PCT/KR2023/015018 KR2023015018W WO2024076101A1 WO 2024076101 A1 WO2024076101 A1 WO 2024076101A1 KR 2023015018 W KR2023015018 W KR 2023015018W WO 2024076101 A1 WO2024076101 A1 WO 2024076101A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
video
electronic device
network
signal processor
Prior art date
Application number
PCT/KR2023/015018
Other languages
French (fr)
Korean (ko)
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 KR1020220184871A external-priority patent/KR20240047283A/en
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Publication of WO2024076101A1 publication Critical patent/WO2024076101A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals

Definitions

  • An embodiment of the present disclosure provides an image processing method that can support image processing of a video using an artificial intelligence (AI) method when shooting (or recording) a video, and an electronic device that supports the same.
  • AI artificial intelligence
  • AI-based image processing technology is being proposed that can detect full color images even with minimal lighting (e.g., dark environments such as at night).
  • AI-based image processing technology may refer to processing technology that allows high-quality images to be obtained even in a minimal lighting environment.
  • AI-based image processing technology is currently used for image processing for images (e.g. still images).
  • images e.g. still images.
  • an electronic device provides video by processing video signals using technology based on a general video processing algorithm.
  • an image signal processor is implemented as a technology based on an image processing algorithm, its pipeline is defined, and its structure is simplified. Therefore, conventional image processing methods may have limitations, and there may be no progress in improving the performance of demosaic and/or noise reduction, which have a significant impact on the resolution of the final image.
  • existing image processing algorithms may have lower performance compared to recent AI-based image processing algorithms.
  • AI-based image processing algorithms consume a lot of current to be used in scenarios where video is captured (e.g., recorded), so to date, general image processing algorithms are being applied to videos.
  • an image processing method capable of supporting image processing of a video using an artificial intelligence (AI) method when shooting a video and an electronic device supporting the same are provided.
  • AI artificial intelligence
  • an image signal processor that can improve resolution and noise reduction ability during artificial intelligence-based video shooting (e.g., recording), real-time demosaic (demosaic) )
  • ISP image signal processor
  • demosaic real-time demosaic
  • An electronic device may include a display, a camera, a processor operatively connected to the display and the camera, and an image signal processor (ISP) included in the processor.
  • the image signal processor may operate to receive input data corresponding to the sensor output size of the sensor through the camera while a user is capturing a video.
  • the image signal processor may operate to determine a parameter corresponding to a setting or setting change in which the video is captured.
  • the image signal processor is configured to perform image processing to convert the input data into a full color image based on the parameters and vary the output size of the full color image to match the video output size. It can work.
  • the image signal processor may operate to output image data according to image processing.
  • An image processing device of an electronic device may include a camera, an image signal processor (ISP) operatively connected to the camera, and a memory operatively connected to the image signal processor.
  • ISP image signal processor
  • the memory when executed, causes the image signal processor to receive input data corresponding to a sensor output size of a sensor through the camera while a video capture is performed by a user, and Determining parameters corresponding to the settings or setting changes to be captured, converting the input data to a full color image based on the parameters, and changing the output size of the full color image to match the video output size.
  • Instructions for performing processing and outputting image data according to image processing may be stored.
  • a method of operating an electronic device includes, while a user is capturing a video, an image signal processor (ISP) transmits input data corresponding to the sensor output size of the sensor through a camera. It may include performing the operation of receiving.
  • the operating method may include performing an operation to determine a parameter corresponding to a setting or setting change in which the video is captured.
  • the operating method may include performing an operation of converting the input data into a full color image based on the parameters and performing image processing to vary the output size of the full color image to suit the video output size. there is.
  • the operation method may include performing an operation of outputting image data according to image processing.
  • various embodiments of the present disclosure may include a computer-readable recording medium on which a program for executing the method on a processor is recorded.
  • a non-transitory computer-readable storage medium (or computer program product) storing one or more programs.
  • one or more programs when executed by a processor of an electronic device, may output a sensor output size of a sensor through a camera while a user performs video capture.
  • An operation of receiving input data corresponding to the video an operation of determining a parameter corresponding to a setting or setting change in which the video is captured, converting the input data into a full color image based on the parameter, and the full color image. It may include a command for performing image processing to change the output size of the image to match the video output size, and an operation for outputting image data according to the image processing.
  • the image signal processor generates a full color image based on parameter replacement of the AI network and simultaneously performs resize, so that when shooting (e.g. recording) an artificial intelligence-based video, Current consumption can be reduced.
  • image quality is improved by processing calculations for image processing based on artificial intelligence
  • power consumption due to a reduction in the amount of calculation can be minimized.
  • by reducing power consumption due to artificial intelligence-based image processing it is possible to use the AI network of the image signal processor even during high-complexity video shooting (e.g., recording).
  • FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments.
  • FIG. 2 is a block diagram illustrating a camera module according to various embodiments.
  • FIG. 3 is a diagram schematically showing the configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 4 is a diagram schematically showing the configuration of an image signal processor according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram illustrating an example of operations of a measurement unit and an alignment unit in an image signal processor according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram illustrating an example of the operation of a preprocessor in an image signal processor according to an embodiment of the present disclosure.
  • FIG. 7 is a diagram illustrating an example of a full color image in an image signal processor according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram illustrating an example of the output of an image signal processor according to an embodiment of the present disclosure.
  • FIG. 9 is a diagram illustrating an example of a network cache of an image signal processor according to an embodiment of the present disclosure.
  • FIG. 10 is a diagram illustrating an example of an operation of an image signal processor according to an embodiment of the present disclosure.
  • FIGS. 11A, 11B, and 11C are diagrams illustrating an example of a scaling operation in an image signal processor according to an embodiment of the present disclosure.
  • FIG. 12 is a flowchart illustrating a method of operating an electronic device according to an embodiment of the present disclosure.
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments.
  • the electronic device 101 communicates with the electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) or a second network 199. It is possible to communicate with at least one of the electronic device 104 or the server 108 through (e.g., a long-distance wireless communication network). According to one embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108.
  • a first network 198 e.g., a short-range wireless communication network
  • a second network 199 e.g., a long-distance wireless communication network.
  • the electronic device 101 may communicate with the electronic device 104 through the server 108.
  • the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or may include an antenna module 197.
  • at least one of these components eg, the connection terminal 178) may be omitted or one or more other components may be added to the electronic device 101.
  • some of these components e.g., sensor module 176, camera module 180, or antenna module 197) are integrated into one component (e.g., display module 160). It can be.
  • the processor 120 for example, executes software (e.g., program 140) to operate at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 120 stores instructions or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132. The commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
  • software e.g., program 140
  • the processor 120 stores instructions or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132.
  • the commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
  • the processor 120 is a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)) or an auxiliary processor (e.g., a central processing unit (CPU) or an application processor (AP)) that can be operated independently or together. 123) (e.g., graphic processing unit (GPU), neural processing unit (NPU), image signal processor (ISP), sensor hub processor, or communication processor (CP, communication processor)) may be included.
  • the electronic device 101 includes a main processor 121 and a secondary processor 123, the secondary processor 123 may be set to use lower power than the main processor 121 or be specialized for a designated function. You can.
  • the auxiliary processor 123 may be implemented separately from the main processor 121 or as part of it.
  • the auxiliary processor 123 may, for example, replace the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or when the main processor 121 While in an active (e.g., application execution) state, at least one of the components of the electronic device 101 (e.g., the display module 160, the sensor module 176, or At least some of the functions or states related to the communication module 190 can be controlled.
  • co-processor 123 e.g., image signal processor or communication processor
  • may be implemented as part of another functionally related component e.g., camera module 180 or communication module 190. there is.
  • the auxiliary processor 123 may include a hardware structure specialized for processing artificial intelligence models.
  • Artificial intelligence models can be created through machine learning. For example, such learning may be performed in the electronic device 101 itself on which the artificial intelligence model is performed, or may be performed through a separate server (e.g., server 108).
  • Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but It is not limited.
  • An artificial intelligence model may include multiple artificial neural network layers.
  • Artificial neural networks include deep neural network (DNN), convolutional neural network (CNN), recurrent neural network (RNN), restricted boltzmann machine (RBM), belief deep network (DBN), bidirectional recurrent deep neural network (BRDNN), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the examples described above.
  • artificial intelligence models may additionally or alternatively include software structures.
  • the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101. Data may include, for example, input data or output data for software (e.g., program 140) and instructions related thereto.
  • Memory 130 may include volatile memory 132 or non-volatile memory 134.
  • the program 140 may be stored as software in the memory 130 and may include, for example, an operating system (OS) 142, middleware 144, or applications 146. there is.
  • OS operating system
  • middleware middleware
  • applications 146. there is.
  • the input module 150 may receive commands or data to be used in a component of the electronic device 101 (e.g., the processor 120) from outside the electronic device 101 (e.g., a user).
  • the input module 150 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).
  • the sound output module 155 may output sound signals to the outside of the electronic device 101.
  • the sound output module 155 may include, for example, a speaker or a receiver. Speakers can be used for general purposes such as multimedia playback or recording playback.
  • the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
  • the display module 160 can visually provide information to the outside of the electronic device 101 (eg, a user).
  • the display module 160 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling the device.
  • the display module 160 may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of force generated by the touch.
  • the audio module 170 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 101). Sound may be output through the electronic device 102 (e.g., speaker or headphone).
  • the electronic device 102 e.g., speaker or headphone
  • the sensor module 176 detects the operating state (e.g., power or temperature) of the electronic device 101 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do.
  • the sensor module 176 includes, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.
  • the interface 177 may support one or more designated protocols that can be used to connect the electronic device 101 directly or wirelessly with an external electronic device (eg, the electronic device 102).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD secure digital
  • connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can perceive through tactile or kinesthetic senses.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 can capture still images and moving images.
  • the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 can manage power supplied to the electronic device 101.
  • the power management module 188 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 may supply power to at least one component of the electronic device 101.
  • the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
  • Communication module 190 is configured to provide a direct (e.g., wired) communication channel or wireless communication channel between electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108). It can support establishment and communication through established communication channels. Communication module 190 operates independently of processor 120 (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication.
  • processor 120 e.g., an application processor
  • the communication module 190 may be a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., : LAN (local area network) communication module, or power line communication module) may be included.
  • a wireless communication module 192 e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 e.g., : LAN (local area network) communication module, or power line communication module
  • the corresponding communication module is a first network 198 (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (e.g., legacy It may communicate with an external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a telecommunication network such as a LAN or wide area network (WAN)).
  • a first network 198 e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)
  • a second network 199 e.g., legacy It may communicate with an external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a telecommunication network such as a LAN or wide area network
  • the wireless communication module 192 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 to communicate within a communication network such as the first network 198 or the second network 199.
  • subscriber information e.g., International Mobile Subscriber Identifier (IMSI)
  • IMSI International Mobile Subscriber Identifier
  • the wireless communication module 192 may support 5G networks after 4G networks and next-generation communication technologies, for example, NR access technology (new radio access technology).
  • NR access technologies include high-speed transmission of high-capacity data (eMBB, enhanced mobile broadband), minimization of terminal power and access to multiple terminals (mMTC, massive machine type communications), or high-reliability and low-latency (URLLC, ultra-reliable and low-latency). communications) can be supported.
  • the wireless communication module 192 may support high frequency bands (eg, mmWave bands), for example, to achieve high data rates.
  • the wireless communication module 192 uses various technologies to secure performance in high frequency bands, for example, beamforming, massive array multiple-input and multiple-output (MIMO), and full-dimensional multiplexing.
  • MIMO massive array multiple-input and multiple-output
  • the wireless communication module 192 may support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 104), or a network system (e.g., second network 199). According to one embodiment, the wireless communication module 192 supports Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC.
  • Peak data rate e.g., 20 Gbps or more
  • loss coverage e.g., 164 dB or less
  • U-plane latency e.g., 164 dB or less
  • the antenna module 197 may transmit or receive signals or power to or from the outside (eg, an external electronic device).
  • the antenna module 197 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB).
  • the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for the communication method used in the communication network, such as the first network 198 or the second network 199, is connected to the plurality of antennas by, for example, the communication module 190. can be selected. Signals or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna.
  • other components eg, radio frequency integrated circuit (RFIC) may be additionally formed as part of the antenna module 197.
  • RFIC radio frequency integrated circuit
  • the antenna module 197 may form a mmWave antenna module.
  • a mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.
  • a mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side)
  • peripheral devices e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • signal e.g. commands or data
  • commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199.
  • Each of the external electronic devices 102 or 104 may be of the same or different type as the electronic device 101.
  • all or part of the operations performed in the electronic device 101 may be executed in one or more of the external electronic devices 102, 104, or 108.
  • the electronic device 101 may perform the function or service instead of executing the function or service on its own.
  • one or more external electronic devices may be requested to perform at least part of the function or service.
  • One or more external electronic devices that have received the request may execute at least part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device 101.
  • the electronic device 101 may process the result as is or additionally and provide it as at least part of a response to the request.
  • cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology can be used.
  • the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
  • the external electronic device 104 may include an Internet of Things (IoT) device.
  • Server 108 may be an intelligent server using machine learning and/or neural networks.
  • the external electronic device 104 or server 108 may be included in the second network 199.
  • the electronic device 101 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
  • FIG. 2 is a block diagram 200 illustrating a camera module 180 according to various embodiments.
  • the camera module 180 includes a lens assembly 210, a flash 220, an image sensor 230, an image stabilizer 240, It may include a memory 250 (e.g., buffer memory) or an image signal processor 260.
  • the lens assembly 210 may collect light emitted from a subject that is the target of image capture.
  • Lens assembly 210 may include one or more lenses.
  • the camera module 180 may include a plurality of lens assemblies 210.
  • the camera module 180 may form, for example, a dual camera, a 360-degree camera, or a spherical camera.
  • Some of the plurality of lens assemblies 210 have the same lens properties (e.g., angle of view, focal length, autofocus, f number, or optical zoom), or at least one lens assembly is different from another lens assembly. It may have one or more lens properties that are different from the lens properties of .
  • the lens assembly 210 may include, for example, a wide-angle lens or a telephoto lens.
  • the flash 220 may emit light used to enhance light emitted or reflected from a subject.
  • the flash 220 may include one or more light emitting diodes (eg, red-green-blue (RGB) LED, white LED, infrared LED, or ultraviolet LED), or a xenon lamp.
  • RGB red-green-blue
  • LED white LED
  • infrared LED or ultraviolet LED
  • the image sensor 230 may acquire an image corresponding to the subject by converting light emitted or reflected from the subject and transmitted through the lens assembly 210 into an electrical signal.
  • the image sensor 230 is one image sensor selected from among image sensors with different properties, such as an RGB sensor, a BW (black and white) sensor, an IR sensor, or a UV sensor, and the same It may include a plurality of image sensors having different properties, or a plurality of image sensors having different properties.
  • Each image sensor included in the image sensor 230 may be implemented using, for example, a charged coupled device (CCD) sensor or a complementary metal oxide semiconductor (CMOS) sensor.
  • CCD charged coupled device
  • CMOS complementary metal oxide semiconductor
  • the image stabilizer 240 moves at least one lens or image sensor 230 included in the lens assembly 210 in a specific direction in response to the movement of the camera module 180 or the electronic device 101 including the same.
  • the operating characteristics of the image sensor 230 can be controlled (e.g., adjusting read-out timing, etc.). This allows to compensate for at least some of the negative effects of said movement on the image being captured.
  • the image stabilizer 240 uses a gyro sensor (not shown) or an acceleration sensor (not shown) disposed inside or outside the camera module 180 to stabilize the camera module 180 or the electronic device 101. ) can detect such movements.
  • the image stabilizer 240 may be implemented as, for example, an optical image stabilizer.
  • the memory 250 may at least temporarily store at least a portion of the image acquired through the image sensor 230 for the next image processing task. For example, when image acquisition is delayed due to the shutter or when multiple images are acquired at high speed, the acquired original image (e.g., Bayer-patterned image or high-resolution image) is stored in the memory 250. , the corresponding copy image (eg, low-resolution image) may be previewed through the display module 160. Thereafter, when a specified condition is satisfied (eg, user input or system command), at least a portion of the original image stored in the memory 250 may be obtained and processed, for example, by the image signal processor 260. According to one embodiment, the memory 250 may be configured as at least part of the memory 130 or as a separate memory that operates independently.
  • a specified condition eg, user input or system command
  • the image signal processor 260 may perform one or more image processes on an image acquired through the image sensor 230 or an image stored in the memory 250.
  • the one or more image processes may include, for example, depth map creation, three-dimensional modeling, panorama creation, feature point extraction, image compositing, or image compensation (e.g., noise reduction, resolution adjustment, brightness adjustment, blurring). may include blurring, sharpening, or softening.
  • the image signal processor 260 provides control (e.g., exposure time control, or read-out timing control) for at least one of the components included in the camera module 180 (e.g., image sensor 230). etc.) can be performed.
  • Images processed by the image signal processor 260 are stored back in memory 250 for further processing or are stored in external components of the camera module 180 (e.g., memory 130, display module 160, electronics ( 102), an electronic device 104, or a server 108).
  • the image signal processor 260 may be configured as at least a part of the processor 120, or may be configured as a separate processor that operates independently from the processor 120.
  • the image signal processor 260 is configured as a separate processor from the processor 120, at least one image processed by the image signal processor 260 is displayed as is or after additional image processing by the processor 120. It may be displayed through module 160.
  • the electronic device 101 may include a plurality of camera modules 180, each having different properties or functions.
  • at least one of the plurality of camera modules 180 may be a wide-angle camera, and at least another one may be a telephoto camera.
  • at least one of the plurality of camera modules 180 may be a front camera, and at least another one may be a rear camera.
  • Electronic devices may be of various types.
  • Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances.
  • Electronic devices according to embodiments of this document are not limited to the above-described devices.
  • first, second, or first or second may be used simply to distinguish one element from another, and may be used to distinguish such elements in other respects, such as importance or order) is not limited.
  • One (e.g. first) component is said to be “coupled” or “connected” to another (e.g. second) component, with or without the terms “functionally” or “communicatively”.
  • any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.
  • module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as logic, logic block, component, or circuit, for example. It can be used as A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present document are one or more instructions stored in a storage medium (e.g., built-in memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). It may be implemented as software (e.g., program 140) including these.
  • a processor e.g., processor 120
  • the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between temporary storage cases.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
  • a machine-readable storage medium e.g. compact disc read only memory (CD-ROM)
  • an application store e.g. Play StoreTM
  • two user devices e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
  • at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
  • each component (e.g., module or program) of the above-described components may include a single or plural entity, and some of the plurality of entities may be separately placed in other components. there is.
  • one or more of the components or operations described above may be omitted, or one or more other components or operations may be added.
  • multiple components eg, modules or programs
  • the integrated component may perform one or more functions of each component of the plurality of components in the same or similar manner as those performed by the corresponding component of the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order. may be removed, omitted, or one or more other operations may be added.
  • FIG. 3 is a diagram schematically showing the configuration of an electronic device according to an embodiment of the present disclosure.
  • the electronic device 101 may include a display module 160, a camera module 180, a memory 130, and/or a processor 120. According to one embodiment, the electronic device 101 may include all or at least some of the components of the electronic device 101 as described in the description with reference to FIG. 1 .
  • the display module 160 may include the same or similar configuration as the display module 160 of FIG. 1. According to one embodiment, the display module 160 may include a display and visually provide various information to the outside of the electronic device 101 (eg, a user). According to one embodiment, the display module 160 may visually provide various information (eg, content, images, videos) related to the executing application and its use under the control of the processor 120.
  • the display module 160 may include a display and visually provide various information to the outside of the electronic device 101 (eg, a user). According to one embodiment, the display module 160 may visually provide various information (eg, content, images, videos) related to the executing application and its use under the control of the processor 120.
  • the display module 160 includes a touch sensor, a pressure sensor capable of measuring the intensity of touch, and/or a touch panel that detects a magnetic field-type stylus pen. (e.g. digitizer) may be included.
  • the display module 160 receives a signal (e.g., voltage, amount of light, resistance, electromagnetic signal, and/or Touch input and/or hovering input (or proximity input) can be detected by measuring changes in electric charge.
  • the display module 160 may include a liquid crystal display (LCD), an organic light emitted diode (OLED), or an active matrix organic light emitted diode (AMOLED).
  • the display module 160 may include a flexible display.
  • the camera module 180 may correspond to the camera module 180 of FIG. 1 or FIG. 2. According to one embodiment, when activated, the camera module 180 may capture a subject and transmit related results (eg, a captured image) to the processor 120 and/or the display module 160.
  • related results eg, a captured image
  • the memory 130 may correspond to the memory 130 of FIG. 1 .
  • the memory 130 may store various data used by the electronic device 101.
  • data may include, for example, input data or output data for an application (e.g., program 140 of FIG. 1) and instructions associated with the application.
  • the data may include camera image data acquired through a camera module.
  • the data may include various learning data acquired based on the user's learning through interaction with the user.
  • data may include various schemas (or algorithms, models, networks, or functions) to support artificial intelligence-based image processing.
  • the memory 130 may store instructions that cause the processor 120 to operate when executed.
  • an application may be stored as software (eg, program 140 in FIG. 1) on the memory 130 and may be executable by the processor 120.
  • the application may be a variety of applications that can provide various functions or services (eg, an image capture function based on artificial intelligence) on the electronic device 101.
  • the processor 120 may perform an application layer processing function required by the user of the electronic device 101. According to one embodiment, the processor 120 may provide commands and control of functions for various blocks of the electronic device 101. According to one embodiment, the processor 120 may perform operations or data processing related to control and/or communication of each component of the electronic device 101. For example, the processor 120 may include at least some of the components and/or functions of the processor 120 of FIG. 1 . The processor 120 may be operatively connected to components of the electronic device 101, for example. The processor 120 may load commands or data received from other components of the electronic device 101 into the memory 130, process the commands or data stored in the memory 130, and store the resulting data. there is.
  • the processor 120 may be an application processor (AP).
  • the processor 120 may be a system semiconductor responsible for calculation and multimedia driving functions of the electronic device 101.
  • the processor 120 is configured in the form of a system-on-chip (SoC), a technology-intensive semiconductor chip that integrates several semiconductor technologies and implements system blocks into one chip. It can be included.
  • the system blocks of the processor 120 include a graphics processing unit (GPU) 310 and an image signal processor (ISP) 320, as illustrated in FIG. 3. , central processing unit (CPU) 330, neural processing unit (NPU) 340, digital signal processor 350, modem 360, connectivity It may include (connectivity) 370 and/or security (security) 380 blocks.
  • GPU 310 may be responsible for graphics processing. According to one embodiment, the GPU 310 receives instructions from the CPU 330 and performs graphics processing to express the shape, position, color, shading, movement, and/or texture of objects (or objects) on the display. can do.
  • the ISP 320 may be responsible for processing and correcting images and videos.
  • the ISP 320 receives raw data (e.g., input data, raw data, original data, Alternatively, it can play a role in correcting raw data to create an image in the user's preferred form.
  • the ISP 320 may correct physical limitations that may occur in the camera module 180, interpolate red, green, blue (R/G/B) values, and remove noise.
  • the ISP 320 may perform post-processing such as adjusting partial brightness of the image and emphasizing detailed parts. For example, the ISP 320 can generate a result preferred by the user by independently tuning and correcting the image quality of the image acquired through the camera module 180.
  • the ISP 320 may support artificial intelligence-based image processing technology to improve image quality, speed image processing, and reduce current consumption (e.g., low power). For example, the ISP 320 can maintain low power while improving video quality, and for this purpose, it can support artificial intelligence-based video shooting. According to one embodiment, the ISP 320 may support artificial intelligence-based image processing related to improving video quality in a dark, low-light environment. According to one embodiment, the ISP 320 may support scene segmentation (e.g., image segmentation) technology that recognizes and/or classifies parts of the scene being shot in conjunction with the NPU 340. there is. For example, the ISP 320 may include processing functions by applying different parameters to objects such as the sky, bushes, and/or skin. According to one embodiment, the ISP 320 detects and displays a human face when shooting an image through an artificial intelligence function, or uses the coordinates and information of the face to adjust the brightness, focus, and/or color of the image. .
  • the ISP 320 detects and displays a human face
  • the configuration and detailed operation of the ISP 320 of the processor 120 will be described with reference to the drawings described later.
  • the CPU 330 may play a role corresponding to the processor 120.
  • the CPU 330 may decode user commands and perform arithmetic and logical operations and/or data processing.
  • the CPU 330 may be responsible for the functions of memory, interpretation, calculation, and control.
  • the CPU 330 may control the overall functions of the electronic device 101.
  • the CPU 330 can execute all software (eg, applications) of the electronic device 101 on an operating system (OS) and control hardware devices.
  • OS operating system
  • the NPU 340 may be responsible for processing optimized for an artificial intelligence deep learning algorithm.
  • the NPU 340 is a processor optimized for deep learning algorithm calculations (e.g., artificial intelligence calculations), and can process big data quickly and efficiently like a human neural network.
  • the NPU 340 can be mainly used for artificial intelligence calculations.
  • the NPU 340 recognizes objects, environments, and/or people in the background when taking an image through the camera module 180 and automatically adjusts the focus, or uses the camera module 180 when taking a picture of food. It can automatically switch the shooting mode to food mode and/or erase only unnecessary subjects from the captured results.
  • the electronic device 101 supports integrated machine learning processing by interacting with all processors such as GPU 310, ISP 320, CPU 330, and NPU 340. You can.
  • the DSP 350 may represent an integrated circuit that helps quickly process digital signals. According to one embodiment, the DSP 350 may perform a high-speed processing function by converting an analog signal into a digital signal.
  • the modem 360 may perform a role that allows the electronic device 101 to use various communication functions.
  • the modem 360 can support communications such as phone calls and data transmission and reception by exchanging signals with a base station.
  • the modem 360 is an integrated modem that supports communication technologies such as LTE and 2G to 5G (e.g., cellular modem, LTE modem, 5G modem, and 5G-Advanced modem, and 6G modem). may include.
  • the modem 360 may include an artificial intelligence modem to which an artificial intelligence algorithm is applied.
  • connectivity 370 may support wireless data transmission based on IEEE 802.11.
  • connectivity 370 may support communication services based on IEEE 802.11 (eg, Wi-Fi) and/or 802.15 (eg, Bluetooth, ZigBee, UWB).
  • IEEE 802.11 eg, Wi-Fi
  • 802.15 eg, Bluetooth, ZigBee, UWB
  • the connectivity 370 can support communication services for an unspecified number of people in a localized area, such as indoors, using an unlicensed band.
  • the security 380 may provide an independent security execution environment between data or services stored in the electronic device 101.
  • the security 380 prevents hacking from occurring through software and hardware security during user authentication when providing services such as biometrics, mobile ID, and/or payment of the electronic device 101. can play a role in preventing.
  • the security 380 is based on device security to strengthen the security of the electronic device 101 and user information such as mobile ID, payment, and car key in the electronic device 101.
  • An independent security execution environment can be provided by the security service.
  • the processor 120 may include processing circuitry and/or executable program elements.
  • the processor 120 e.g., ISP 320
  • the processor 120 collects raw data (e.g., input data, raw data) through the camera module 180 while a video is captured by a user. or original data) may be performed.
  • the processor 120 e.g., ISP 320
  • the processor 120 may perform an operation to determine parameters corresponding to settings or settings changes in which the video is captured.
  • the processor 120 e.g., ISP 320
  • the processor 120 eg, ISP 320
  • operations performed by the processor 120 may be implemented as a recording medium (or computer program product).
  • the recording medium may include a non-transitory computer-readable recording medium on which a program for executing various operations performed by the processor 120 is recorded.
  • Embodiments described in this disclosure may be implemented in a recording medium readable by a computer or similar device using software, hardware, or a combination thereof.
  • the operations described in one embodiment include application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and field programmable gate arrays (FPGAs). ), processors, controllers, micro-controllers, microprocessors, and/or other electrical units to perform functions. .
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • the recording medium includes an image signal processor (ISP) receiving raw data through a camera module while a user performs video capture.
  • ISP image signal processor
  • FIG. 4 is a diagram schematically showing the configuration of an image signal processor according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram illustrating an example of operations of a measurement unit and an alignment unit in an image signal processor according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram illustrating an example of the operation of a preprocessor in an image signal processor according to an embodiment of the present disclosure.
  • FIG. 7 is a diagram illustrating an example of a full color image in an image signal processor according to an embodiment of the present disclosure.
  • the image acquired through the camera module 180 is received from the ISP 320, and artificial intelligence-based image processing is performed.
  • An example of the operation can be shown.
  • the electronic device 101 includes a camera module 180 (e.g., the camera module 180 in FIG. 1 or 2) and an image signal processor 320 (e.g., the ISP 320 in FIG. 3). , and a memory 480 (eg, the memory 130 of FIG. 1 or FIG. 3 or the memory 250 of FIG. 2).
  • the camera module 180 may include an image sensor 410, a receiver unit 420, and a measurement unit 430.
  • the camera module 180 may include a lens (eg, the lens assembly 210 of FIG. 2), although not shown.
  • ISP 320 may include an alignment unit 440, a preprocessor 450, an AI network 460, and a post-processor 470.
  • the memory 480 is a memory included in the electronic device 101 (e.g., memory 130 of FIG. 1 or 3), and/or a memory included in the camera module 180 (e.g., It may be the memory 250 of FIG. 2).
  • the image sensor 410 receives raw data from the lens of the camera module 180 (e.g., the lens assembly 210 of FIG. 2). can receive.
  • the image sensor 410 may receive CFA data (or CFA image) according to a color filter array (CFA) pattern (e.g., color filter shape (Bayer pattern)) of the image sensor 410. .
  • CFA color filter array
  • the receiver unit 420 may receive raw data from the image sensor 410 in real time. According to one embodiment, the receiver unit 420 may transmit raw data received in real time to the memory 480. According to one embodiment, the receiver unit 420 may perform a role of directly transmitting raw data to the memory 480 (eg, direct memory access, DMA) according to the output characteristics of the image sensor 410. For example, the receiver unit 420 may perform the role of directly transmitting (e.g., sharing) data between the image sensor 410 and the memory 480 without intervention of the CPU (e.g., CPU 330 in FIG. 3). You can.
  • DMA direct memory access
  • the measurement unit 430 may receive raw data from the image sensor 410 and extract measurement data based on the received raw data.
  • the measurement data may include motion data and 3A (eg, Auto exposure, Auto white balance, Auto focus) data.
  • the measurement data may include tone correction histogram data to be used in the post-processing unit 470.
  • the measurement unit 430 may operate flexibly according to the CFA of the image sensor 410. According to one embodiment, the measurement unit 430 may perform measurement according to the CFA pattern of the image sensor 410. For example, when generating a luminance image for calculating a histogram, the measurement unit 430 may change a coefficient for combining each input color channel into luminance. According to one embodiment, the measurement unit 430 may perform measurement for each channel and perform measurement according to the changed CFA when the CFA of the image sensor 410 is changed. According to one embodiment, the measurement unit 430 may determine the movement of the image through at least one frame (eg, 1 frame or N frames) from the image sensor 410.
  • the measurement unit 430 may determine the movement of the image through at least one frame (eg, 1 frame or N frames) from the image sensor 410.
  • the ISP 320 (e.g., an AI front end) performs demosaic, shadow correction, color correction, noise removal, and sharpness adjustment based on raw data and measurement data. The same image processing can be performed.
  • the ISP 320 uses raw data captured by the camera module 180 using an artificial intelligence method (e.g., artificial neural network (e.g., UNET, artificial neural network (ANN), deep neural network (DNN), CNN) (AI network structures such as convolutional neural network, RNN (recurrent neural network), AE (autoencoder), and/or GAN (generative adversarial network)) to full color conversion (AI front end) ) can play a role.
  • an artificial intelligence method e.g., artificial neural network (e.g., UNET, artificial neural network (ANN), deep neural network (DNN), CNN) (AI network structures such as convolutional neural network, RNN (recurrent neural network), AE (autoencoder), and/or GAN (generative adversarial network)
  • the ISP 320 may include an
  • the alignment unit 440 acquires measurement data such as image movement and/or brightness from the measurement unit 430, and uses the obtained measurement data to divide N-1 frames of the image into N Motion compensation can be performed to fit the frame.
  • the N-1 frame and N frame may represent raw data (eg, CFA data (or frame)) sequentially output from the image sensor 410.
  • N frame may represent the currently output frame
  • N-1 frame may represent the previous frame of one frame (e.g., N frame).
  • the operation of the alignment unit 440 is illustrated in FIG. 5 .
  • the alignment unit 440 receives measurement data (e.g., motion data) from the measurement unit 430 and aligns the N-1 frame 510 with the N frame 520.
  • Motion compensation can be performed.
  • N-1 frames 510 may represent an example where there is motion
  • N frames 520 may represent an example where there is no motion.
  • the motion for each frame is distorted due to parallax (or parallax in reading speed) due to image reading in the camera module 180 and characteristics of the image sensor 410 (e.g., rolling shutter type image sensor). (e.g. image distortion) may occur.
  • the alignment unit 440 performs an operation (e.g., warping) on the N-1 frame 510 to match the N-1 frame 510 with the N frame 520 for motion compensation for distortion. operation) can be performed.
  • the alignment unit 440 may measure and compensate for motion between images and match them so that at least one image (eg, one or multiple frames) can be input at a time.
  • the alignment unit 440 can match multiple images and provide them to the AI network 460, thereby helping the AI network 460 increase image resolution and reduce noise during demosaicing.
  • the measurement unit 430 may measure the movement of the image for each frame and provide the measurement to the alignment unit 440 so that the alignment unit 440 can match multiple images.
  • the preprocessor 450 may calculate the raw data using different arithmetic operations for each pixel and then transmit it to the AI network 460.
  • the preprocessing unit 450 is located at the front of the AI network 460, and can optimize the preprocessing operation performed in the existing ISP 320 into a form suitable for the AI network 460. .
  • the operation of the preprocessor 450 according to one embodiment is illustrated in FIG. 6.
  • the preprocessor 450 may perform an operation consisting of arithmetic operations for each pixel on the N frame 520 and the N-1 frame 510.
  • the preprocessor 450 performs four arithmetic operations based on, for example, Pedestal (610), white balance (WB) 620, lens shading correction (LSC) 630, and Gamma (640). can be performed.
  • the preprocessor 450 may sequentially input at least two frames (e.g., N-1 frame 510 and N frame 520) to the AI network 460.
  • the AI network 460 may perform tone correction by reordering the order of each pixel when at least two or more frames are sequentially input.
  • the AI network 460 performs global tone correction (GTM, global tone mapping) 650 and local tone correction (LTM, local tone mapping) 660 for at least two sequentially input frames. It is possible to obtain image quality gains.
  • GTM global tone correction
  • LTM local tone correction
  • the preprocessor 450 may adjust coefficients for each color channel for the luminance image.
  • the coefficient (Y) for generating a luminance image can be expressed as an example in ⁇ Equation 1> below.
  • ⁇ Equation 1> represents an example of calculating a coefficient for generating a luminance image, but is not limited thereto.
  • the AI network 460 may include an AI accelerator such as a microprocessor (eg, MPU, microprocessor unit). According to one embodiment, the AI network 460 may perform demosaic to convert the CFA pattern of the image sensor 410 into full color form using a designated artificial intelligence algorithm. According to one embodiment, the AI network 460 may perform an operation of interpolating and filling empty parts of pixels using peripheral pixels (e.g., color-filled pixels) in raw data, based on a designated artificial intelligence algorithm. .
  • an AI accelerator such as a microprocessor (eg, MPU, microprocessor unit).
  • the AI network 460 may perform demosaic to convert the CFA pattern of the image sensor 410 into full color form using a designated artificial intelligence algorithm.
  • the AI network 460 may perform an operation of interpolating and filling empty parts of pixels using peripheral pixels (e.g., color-filled pixels) in raw data, based on a designated artificial intelligence algorithm. .
  • the AI network 460 performs demosaicing (e.g., a function of converting to full color) and, at approximately the same time, outputs the current video input from the preprocessor 450 (e.g., a function of converting to full color).
  • demosaicing e.g., a function of converting to full color
  • the current video input from the preprocessor 450 e.g., a function of converting to full color.
  • the AI network 460 performs demosaicing in full color based on the raw data (e.g., CFA image) of the image sensor 410 processed in the pre-processor 450 and then performs demosaicing in the post-processor 470. ) can be transmitted.
  • the AI network 460 uses parameters learned through AI (e.g., AI parameters) and uses one image or N images matched in the measurement unit 430 and the alignment unit 440 to generate one image. Full color images can be output.
  • the parameters may include information learned according to the CFA of the image sensor 410 (eg, by sensor output size).
  • the AI network 460 changes the network layer information, weight parameters, and/or bias parameters to match the changed mode, thereby changing the desired mode. May operate to obtain an output (e.g., video output size).
  • the output of AI network 460 may represent a full-color image in FHD or UHD.
  • the output of AI network 460 according to one embodiment is illustrated in FIG. 7 .
  • the full-color image 701, 703, or 705 of the AI network 460 is adjusted to the video resolution (e.g., HD, FHD, UHD, or 8K) currently set by the user without a separate scaling process.
  • the video resolution e.g., HD, FHD, UHD, or 8K
  • element 701 represents an example of a full-color image from AI network 460 for the output of a 4x4 sensor
  • element 703 represents an example of a full-color image from AI network 460 for the output of a 2x2 sensor
  • Element 705 may represent an example of a full-color image from the AI network 460 for the output of a Bayer sensor.
  • the output (e.g. video output size) of the AI network 460 may be a 3M full color image.
  • the output of the ISP 320 e.g., the AI network 460
  • its operation are described with reference to the drawings described below.
  • the post-processing unit 470 may perform tone correction on the output of the AI network 460 (e.g., demosaic data or full color data). For example, the post-processing unit 470 can adjust the color of the image.
  • the post-processing unit 470 performs real-time tone correction, such as GTM and/or LTM, on the full color image output from the AI network 460 using measurement data, as illustrated in FIG. 6. It can be done.
  • the measurement unit 430 may provide tone-related data such as an image histogram necessary for tone correction of the post-processing unit 470 to the post-processing unit 470.
  • the memory 480 may store the output of the receiver unit 420 and/or the post-processing unit 470.
  • FIG. 8 is a diagram illustrating an example of the output of an image signal processor according to an embodiment of the present disclosure.
  • the full color image output from the AI network 460 of the ISP 320 is displayed at the video resolution (e.g. HD, FHD, UHD, or 8K) set by the user and/or at the camera module 180. It can be output according to AI parameters that automatically change based on situational awareness.
  • the output size of the AI network 460 may change depending on the user's video resolution setting and/or AI parameter change.
  • the AI network 460 may scale the output image according to the image size of various scenarios when shooting (e.g., recording) a video.
  • the output of the AI network 460 of the ISP 320 may be changed in response to the CFA type of the image sensor 410 or the sensor output size that varies depending on the lens.
  • the AI network 460 measures measurement data (e.g., exposure value (EV), bright value (BV), and/or zoom ratio) of the measurement unit 430. Using this, you can change the parameters to suit the situation. For example, the AI network 460 can use exposure value (EV) or brightness value (BV) to distinguish the illuminance at which an image is captured, and change parameters to suit the situation of the classified illuminance. According to one embodiment, when the AI network 460 determines that the illumination is low according to a low exposure value (EV), it can use an AI parameter that reduces noise significantly. According to one embodiment, the AI network 460 can automatically switch to AI parameters that enhance details when it is determined to be outdoors based on a high exposure value (EV). According to one embodiment, the AI network 460 processes demosaic based on AI parameters appropriate for the situation and outputs an image with a corresponding resolution (e.g., FHD, UHD, or 8K) (or video output size). You can.
  • a corresponding resolution e.g., FHD,
  • the AI network 460 of the ISP 320 processes demosaicing and scaling at once to a size that matches the output size of the selected video shooting scenario (e.g., setting) regardless of the input image size. can do.
  • the AI network 460 performs artificial intelligence-based learning to output 3M full-color images in the case of FHD settings and 9M full-color images in UHD settings, and operates using the learned training data. can do.
  • FIG. 9 is a diagram illustrating an example of a network cache of an image signal processor according to an embodiment of the present disclosure.
  • the AI network 460 of the ISP 320 can switch parameters according to sensors of various CFA patterns (e.g., Bayer, 2x2, 3x3, 4x4, or RGBW). For example, in recent years, sensors with various patterns in addition to sensors with Bayer-type patterns have been developed. According to one embodiment, it may be difficult for a general ISP to support all of the various patterns.
  • the ISP 320 according to an embodiment of the present disclosure is based on artificial intelligence-based operation using the AI network 460 and can flexibly respond to various sensor patterns through various learning.
  • the AI network 460 may include its own memory (e.g., network cache 900) that stores various types of parameters so that they can be quickly and easily switched.
  • network cache 900 may be included within AI network 460 or ISP 320.
  • the network cache 900 may previously cache parameters frequently used when shooting (eg, recording) a video.
  • the AI network 460 loads both first parameters (e.g., parameters for low light) and second parameters (e.g., parameters for outdoor use) into the network cache 900 and then loads them at a high speed according to the measurement data. It can be supplied to the AI network 460.
  • the AI network 460 determines (A) video resolution (e.g., FHD, UHD, and 8K) as in the example, (B) image condition (or 3A stats) (e.g., as in the example) : outdoor, indoor, and lowlight), and/or (C)
  • video resolution e.g., FHD, UHD, and 8K
  • image condition e.g., as in the example: outdoor, indoor, and lowlight
  • C various parameters corresponding to CFA patterns (e.g., Bayer, 2x2, 3x3, and 4x4) can be cached in the network cache 900, and video When shooting, you can quickly switch to parameters corresponding to measurement data.
  • FIG. 10 is a diagram illustrating an example of an operation of an image signal processor according to an embodiment of the present disclosure.
  • FIG. 10 may show an example of the computational area of the AI network 460 during digital zoom when shooting (eg, recording) a video.
  • VDIS video digital image stabilizer
  • SAT scene aligned transform
  • VDIS video digital image stabilizer
  • SAT scene aligned transform
  • VDIS may represent a method of reducing shaking by changing the crop area of the image according to the shaking of the camera module 180.
  • SAT may represent a method of switching without a sense of heterogeneity by changing the crop area of the image when switching between camera modules 180 of different angles of view.
  • both the VDIS method and the SAT method have something in common in cropping the image, and for this purpose, the output of the AI network 460 is an image margin (image) in the basic video output resolution (e.g., Output Image Size (1010)).
  • the area including margin (1020) (e.g., Image Margin Area (1030)) can be calculated.
  • an example of output calculated based on the area 1030 including the image margin 1020 is shown in FIGS. 11A to 11C.
  • FIGS. 11A, 11B, and 11C are diagrams illustrating an example of a scaling operation in an image signal processor according to an embodiment of the present disclosure.
  • FIGS. 11A, 11B, and 11C may represent an example of a scaling operation in the decoding (eg, pool) and encoding (eg, up convolution) process of the AI network 460.
  • the AI network 460 changes the output images 1103, 1105, and 1107 to a resolution (e.g., 8K, UHD, FHD) suitable for the current shooting environment (or situation) based on parameter adjustment. can do.
  • the AI network 460 can adjust the size of the image based on AI parameter changes and determine the output size according to the user scenario.
  • the AI network 460 may adjust the size of the output image based on an encoder-decoder based model (e.g., UNET) such as an autoencoder (AE).
  • the AI network 460 may have a network structure divided into a decoding part (eg, encoder 1110) and an encoding part (eg, decoder 1120).
  • the AI network 460 has an encoder 1110 (or contracting path) and decoder 1120 (or expanding path) structures, and may be symmetrical to each other.
  • the AI network 460 may perform an operation of concatenating features obtained from each layer of the encoding step to each layer of the decoding step.
  • the direct connection between each layer of the encoder 1110 and each layer of the decoder 1120 may be referred to as a skip connection.
  • the AI network 460 arranges the layers so that the neural network structure has skip connections in parallel and the left and right sides are symmetrical with respect to the center, as illustrated in FIGS. 11A, 11B, and 11C, e.g. For example, it may include a U-shaped neural network structure.
  • the part connecting the encoder 1110 and the decoder 1120 is called a bridge 1130.
  • the bottom portion of the U-shaped structure may represent a bridge 1130.
  • a rectangular box in FIGS. 11A, 11B, and 11C may represent a layer block 1140.
  • the vertical direction of the layer block 1140 represents the dimension of the map
  • the layer block 1140 The horizontal direction of can indicate the number of channels. For example, if the vertical direction is 256x256 and the horizontal direction is 128, this may indicate that the image of the corresponding layer has a size of 256x256x128. For example, if the input image is 512x512x3, an image with 3 RGB channels and a size of 512x512x3 can be displayed.
  • the encoder 1110 may down-scale (or down-sample) each layer and proceed to the next step of the encoder 1110 (e.g., in the direction of the arrow below).
  • the decoder 1120 may perform up convolution for each layer and proceed to the next step of the decoder 1120 (eg, in the direction of the arrow above).
  • the right portion shown for each layer in FIGS. 11A, 11B, and 11C is an example of the output images 1103, 1105, and 1107 of the AI network 460.
  • the AI network 460 may provide output images 1103, 1105, and 1107 from each layer.
  • the image in the middle of encoding (e.g., layer block 1140) and the image in the middle of decoding (e.g., layer block 1140) of the encoder 1110 and decoder 1120 may not be meaningful as images. there is.
  • the intermediate images may contain important information regarding the detail and/or resolution of the output image. For example, in the AI network 460, the closer it is to the input end (e.g., the top layer block of the encoder 1110 in FIG. 11A) and the output end (e.g., the top layer block of the decoder 1120 in FIG.
  • the AI network 460 may have an output terminal capable of outputting an image for each layer (e.g., supporting image output for each layer), the user's video resolution setting, and/or a camera module.
  • the output location e.g. layer
  • the output location can be adaptively changed according to the situation measured in (180).
  • the AI network 460 may use the first layer in FIG. 11A, the second layer in FIG. 11B, or the second layer in FIG. 11C based on parameters related to the input image (e.g., the CFA 1101 of the image sensor 410).
  • the corresponding video e.g., 8K video (1103), FHD video (1105), or UHD video (1107)
  • the AI network 460 can learn with different input/output sizes even during learning, and by generating and learning a resized reference file using a complex resizing algorithm, AI The resolution of the network 460 can be improved, and computational efficiency and image downscaling can be performed all at once.
  • a full-color image can be generated by changing the parameters of one fixed network (e.g., AI network 460) and resizing can be performed at the same time, thereby reducing current consumption and computation amount.
  • the AI network 460 can be used even in high-complexity video shooting (e.g., recording) by maximizing image quality due to AI computation and minimizing power consumption by reducing the amount of computation. .
  • the AI network 460 performs demosaicing and scaling at the same time based on learned training data, thereby reducing complexity while maintaining image quality performance and reducing current consumption. there is. According to one embodiment, as the computation on the video is performed based on the AI network 460, there is no need for additional scaling in the computation of the ISP 320 that calculates the video, so the computation steps can be simplified. .
  • the ISP 320 changes the hardware of various CFA patterns (e.g., Bayer, 2x2, 4x4, RGBW, and/or CMYK) of various image sensors 410 through learning of the AI network 460. You can apply without it.
  • CFA patterns e.g., Bayer, 2x2, 4x4, RGBW, and/or CMYK
  • the electronic device 101 includes a display (e.g., the display module 160 of FIGS. 1 or 3), a camera (e.g., the camera module 180 of FIGS. 1 to 3), and the A processor operatively connected to a display and the camera (e.g., the processor 120 of FIG. 1 or 3), and an image signal processor (ISP) included in the processor (e.g., the processor 120 of FIG. 3 or 4) It may include an ISP (320).
  • a display e.g., the display module 160 of FIGS. 1 or 3
  • a camera e.g., the camera module 180 of FIGS. 1 to 3
  • the A processor operatively connected to a display and the camera (e.g., the processor 120 of FIG. 1 or 3), and an image signal processor (ISP) included in the processor (e.g., the processor 120 of FIG. 3 or 4)
  • ISP image signal processor
  • the image signal processor 320 receives input data (e.g., raw data) corresponding to the sensor output size of the sensor through the camera while the user performs video shooting. It can operate to receive. According to one embodiment, the image signal processor 320 may operate to determine parameters corresponding to settings or settings changes in which the video is captured. According to one embodiment, the image signal processor 320 converts the input data into a full color image based on the parameters and changes the output size of the full color image to suit the video output size. Operates to perform processing. According to one embodiment, the image signal processor 320 may operate to output image data according to image processing.
  • input data e.g., raw data
  • the image signal processor 320 may operate to determine parameters corresponding to settings or settings changes in which the video is captured.
  • the image signal processor 320 converts the input data into a full color image based on the parameters and changes the output size of the full color image to suit the video output size. Operates to perform processing.
  • the image signal processor 320 may operate to output image data according to image processing.
  • the camera 180 has an image sensor (e.g., image sensor 410 in FIG. 4) set to receive the input data through the lens of the camera, and receives the input data from the image sensor. It may include a measurement unit (eg, the measurement unit 430 in FIG. 4) configured to receive and extract measurement data based on the received input data.
  • image sensor e.g., image sensor 410 in FIG. 4
  • measurement unit e.g, the measurement unit 430 in FIG. 4
  • the measurement unit 430 may operate to perform measurement according to a CFA (color filter array) pattern of the image sensor and determine the movement of the image through at least one frame from the image sensor. there is.
  • CFA color filter array
  • the image signal processor 320 includes an alignment unit (e.g., alignment unit 440 in FIG. 4) set to match input data from the image sensor and measurement data from the measurement unit, and an alignment unit 440 of FIG. 4 of the input data.
  • a preprocessor e.g., the preprocessor 450 in FIG. 4 that processes arithmetic operations for each pixel, converts the input data into the full color image based on artificial intelligence (AI) while shooting the video
  • An AI network e.g., AI network 460 in FIG. 4) that processes scaling (e.g., variable output size) corresponding to the video output size, and a full-color image output from the AI network using the measurement data.
  • It may include a post-processing unit (e.g., the post-processing unit 470 of FIG. 4) that performs real-time tone correction (tone mapping).
  • the image signal processor 320 while performing the video capture, detects a change in the video mode currently set for video capture or a video mode set during video capture, and uses AI in response to the detected result.
  • the network may operate to determine learned parameters.
  • the image signal processor 320 detects a video mode automatically changed by the camera while performing the video shooting, and determines parameters learned from the AI network in response to the detected result. It can operate to do so.
  • the image signal processor 320 determines the parameter based on at least one element of the CFA pattern of the image sensor, lens characteristics, measurement data of the measurement unit, sensor output size, and/or video output size. It can operate to do so.
  • the parameters can be changed in real time.
  • the image signal processor 320 may operate to change parameters for the AI network to parameters with different input/output sizes in real time in response to the settings or changes to the settings.
  • the image signal processor 320 processes demosaic to convert the input data into a full-color image based on parameters determined through an AI network and output size of the full-color image. may be operated to process variable scaling to match the current video output size.
  • the parameters may include at least one of network layer information, weight parameters, and/or bias parameters.
  • An image processing device for an electronic device 101 includes a camera (e.g., the camera module 180 of FIGS. 1 to 3) and an image signal processor (ISP) operatively connected to the camera.
  • image signal processor e.g., ISP 320 of FIG. 3 or 4
  • memory operatively connected to the image signal processor (e.g., memory 130 of FIG. 1 or FIG. 3 or memory 480 of FIG. 4) ))
  • ISP image signal processor
  • the memory 130, 480 when executed, the image signal processor 320, while performing video capture by the user, corresponds to the sensor output size of the sensor through the camera.
  • Instructions for receiving input data can be stored.
  • the memories 130 and 480 may store instructions that, when executed, allow the image signal processor 320 to determine parameters corresponding to settings or settings changes in which the video is captured. .
  • the image signal processor 320 converts the input data into a full color image based on the parameters and displays the full color image. Instructions that perform image processing to change the output size of the image to match the video output size can be stored.
  • the memories 130 and 480 may store instructions that, when executed, cause the image signal processor 320 to output image data according to image processing.
  • Operations performed in the electronic device 101 include a processor 120 including various processing circuitry and/or executable program elements of the electronic device 101. It can be executed by (e.g. ISP 320). According to one embodiment, operations performed by the electronic device 101 are stored in the memory 130 and, when executed, include instructions that cause the processor 120 (e.g., ISP 320) to operate. It can be executed by .
  • FIG. 12 is a flowchart illustrating a method of operating an electronic device according to an embodiment of the present disclosure.
  • FIG. 12 may show an example of supporting image processing of a video using an AI method when capturing (e.g., recording) a video in the electronic device 101 according to an embodiment.
  • an image processing method for a video may be performed, for example, according to the flowchart shown in FIG. 12.
  • the flowchart shown in FIG. 12 is merely a flowchart according to an embodiment of image processing of the electronic device 101, and the order of at least some operations may be changed, performed in parallel, performed as independent operations, or at least some of the operations. Other operations may be performed complementary to at least some operations.
  • operations 1201 to 1211 may be performed by at least one processor 120 (eg, ISP 320) of the electronic device 101.
  • the operation described in FIG. 12 is, for example, performed heuristically in combination with the operations described in FIGS. 3 to 11, or is performed as a detailed operation of some of the described operations. It can be performed heuristically.
  • an operation method performed by the electronic device 101 includes an operation 1201 of performing video capture, video An operation 1203 of receiving raw data through the camera module 180 while shooting, an operation 1205 of identifying a setting or a setting change in which a video is captured, and an operation of determining parameters corresponding to the setting or setting change. It may include (1207), an operation (1209) of performing image processing on raw data based on parameters, and an operation (1211) of outputting image data according to image processing.
  • the processor 120 (eg, ISP 320) of the electronic device 101 may perform an operation of capturing a video.
  • the processor 120 may execute an application related to video shooting based on user input.
  • the processor 120 may execute (or activate) the camera module 180 based on application execution.
  • the processor 120 may control the display module 160 to display an image (eg, a preview image) acquired through the camera module 180.
  • the processor 120 may start video capture based on detecting a user input that performs video capture (eg, recording).
  • the processor 120 may receive raw data through the camera module 180 while capturing a video.
  • the ISP 320 of the processor 120 may receive unprocessed raw data transmitted from the camera module 180 (e.g., the image sensor 410) while performing video shooting.
  • the image sensor 410 acquires CFA data (or CFA image) according to the CFA pattern of the image sensor 410, and transmits the acquired CFA data to the ISP 320 (e.g. : Can be transmitted to the alignment unit 440 of the ISP 320.
  • the measurement unit 430 may extract measurement data based on raw data and transmit the measurement data to the ISP 320.
  • the measurement data may include motion data and 3A (eg, Auto exposure, Auto white balance, Auto focus) data.
  • the measurement unit 430 may determine the movement of the image based on one or several frames (eg, N frames) input from the image sensor 430.
  • the ISP 320 may acquire raw data of the image sensor 410 and measurement data of the measurement unit 430, respectively.
  • the processor 120 may perform an operation to identify settings in which a video is captured or settings change.
  • the ISP 320 of the processor 120 may change the video mode (e.g., video resolution) currently set for video capture (e.g., HD, FHD, UHD, or 8K) or the video mode set during video capture. can be detected.
  • the ISP 320 may detect a video mode automatically changed by the camera module 180.
  • the processor 120 may perform an operation of determining a parameter corresponding to a setting or setting change.
  • the ISP 320 of the processor 120 includes the CFA pattern of the image sensor 410, lens characteristics (e.g., micro lens), measurement data (e.g., motion data) of the measurement unit 430, and sensor output.
  • the parameter may be determined based on at least one factor of size and/or video output size.
  • the ISP 320 may switch parameters to be used in the AI network 460 of the ISP 320 in real time in response to setting or changing settings.
  • the ISP 320 can change the parameters for the AI network 460 to parameters with different input/output sizes in real time based on the measurement data of the measurement unit 430.
  • the ISP 320 may change the input/output size to a different parameter in real time in response to the user's change in video mode while shooting a video.
  • the processor 120 may process an image for raw data based on parameters.
  • the ISP 320 of the processor 120 may simultaneously process demosaicing (e.g., full color image) and resizing of raw data through the AI network 460 based on parameters.
  • the ISP 320 performs demosaicing of raw data (e.g., CFA image) in full color through the AI network 460, and uses learned parameters corresponding to settings or settings changes (e.g., AI parameters), one full-color image can be output using at least one image (eg, one image or multiple frames) matched by the measurement unit 430 and the alignment unit 440.
  • the ISP 320 changes network layer information, weight parameters, and/or bias parameters through the AI network 460 to match settings or change settings, and outputs correspondingly (e.g., video output size). It can be resized and printed.
  • the processor 120 may perform an operation of outputting image data (eg, output data) according to image processing.
  • the ISP 320 of the processor 120 may output image data to the memory 130 (eg, the memory 480 of FIG. 4) and/or the display module 160.
  • An operation method performed by the electronic device 101 includes using an image signal processor (ISP) (e.g., the ISP of FIG. 3 or 4) while a user is capturing a video.
  • (320)) includes an operation of receiving input data (e.g., raw data) corresponding to the sensor output size of the sensor through a camera (e.g., the camera module 180 in FIGS. 1 to 3). can do.
  • the operating method may include determining a parameter corresponding to a setting or setting change in which the video is captured.
  • the operating method performs image processing to convert the input data into a full color image based on the parameters and vary the output size of the full color image to match the video output size.
  • the operating method may include outputting image data according to image processing.
  • the operation of receiving the input data includes receiving input data from an image sensor of the camera and receiving measurement data extracted based on the input data by a measurement unit of the camera. can do.
  • the operation of performing the image processing may include an operation of matching input data of the image sensor and measurement data of the measurement unit by the image signal processor (eg, alignment unit).
  • the operation of performing the image processing may include processing an arithmetic operation for each pixel of the input data by the image signal processor (eg, a preprocessor).
  • the operation of performing the image processing is to process the input data based on artificial intelligence (AI) while performing the video capture by the image signal processor (e.g., AI network). It may include converting a full color image and scaling it to correspond to the video output size.
  • AI artificial intelligence
  • the operation of performing the image processing is to perform real-time tone correction (tone correction) on the full color image output from the AI network by the image signal processor (e.g., post-processing unit) using the measurement data. It may include an operation to perform mapping).
  • the operation of determining the parameter includes, while performing the video capture, an operation of detecting a change in the video mode currently set for video capture or a video mode set during video capture, and AI in response to the detected result. It may include an operation to determine parameters learned in the network.
  • the operation of determining the parameter includes detecting a video mode automatically changed by the camera while shooting the video, and determining a parameter learned from an AI network in response to the detected result. It may include actions such as:
  • the operation of determining the parameter includes determining the parameter based on at least one element of the CFA pattern of the image sensor, lens characteristics, measurement data of the measurement unit, sensor output size, and/or video output size.
  • the operation of determining the parameter may include an operation of changing the parameter for the AI network to a parameter with a different input/output size in real time in response to the setting or change in the setting.
  • the operation of determining the parameter includes processing demosaic to convert the input data into a full color image based on parameters determined through an AI network, and processing the demosaic of the full color image. It may include an operation to process scaling to change the output size to match the current video output size.
  • the parameters can be changed in real time.
  • the parameters may include at least one of network layer information, weight parameters, and/or bias parameters.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Studio Devices (AREA)

Abstract

Provided in an embodiment of the present disclosure are an image processing method and an electronic device for supporting same, the method enabling image processing of a video to be supported using artificial intelligence when capturing (or recording) the video The electronic device may comprise a display, a camera, a processor and an image signal processor included in the processor. The image signal processor can receive, through the camera, input data (for example, raw data) corresponding to the sensor output size of a sensor while a user captures video. The image signal processor can determine parameters corresponding to settings by which the video is captured or a change in the settings. The image signal processor can perform, on the basis of the parameters, image processing for converting the input data into a full color image and changing the output size of the full color image to match a video output size. The image signal processor can output image data according to image processing.

Description

인공지능 기반의 영상 처리 방법 및 이를 지원하는 전자 장치Artificial intelligence-based image processing method and electronic devices that support it
본 개시의 실시예는 동영상(video)을 촬영(또는 녹화)할 때, 인공지능(AI, artificial intelligence) 방식으로 동영상의 영상 처리를 지원할 수 있는 영상 처리 방법 및 이를 지원하는 전자 장치를 제공한다.An embodiment of the present disclosure provides an image processing method that can support image processing of a video using an artificial intelligence (AI) method when shooting (or recording) a video, and an electronic device that supports the same.
디지털 기술의 발달과 함께 스마트 폰(smart phone), 디지털 카메라, 및/또는 웨어러블 장치(wearable device)와 같은 다양한 유형의 전자 장치가 널리 사용되고 있다. 이러한, 전자 장치는 기능 지지 및 증대를 위해, 전자 장치의 하드웨어적인 부분 및/또는 소프트웨어적인 부분이 지속적으로 개발되고 있다.With the development of digital technology, various types of electronic devices such as smart phones, digital cameras, and/or wearable devices are widely used. In order to support and increase the functionality of electronic devices, the hardware and/or software portions of electronic devices are continuously being developed.
최근에는 전자 장치 및 전자 장치를 이용한 영상 촬영 기능의 사용 증가에 따라, 전자 장치에서의 영상 처리 기술에 관한 다양한 연구가 진행되고 있다. 예를 들어, 최근 전자 장치는 영상 촬영 시에 인공지능(AI, artificial intelligence) 기반 영상 처리를 지원하고 있다. 예를 들어, 최소한의 조명(예: 야간과 같은 어두운 환경)에서도 풀 컬러 이미지(full color image)를 감지할 수 있는 AI 기반 영상 처리 기술이 제안되고 있다. 예를 들어, AI 기반 영상 처리 기술은 최소한의 조명 환경에서도 고품질의 영상을 획득할 수 있도록 처리하는 기술을 나타낼 수 있다. Recently, with the increase in the use of electronic devices and image capture functions using electronic devices, various studies on image processing technology in electronic devices are being conducted. For example, recent electronic devices support artificial intelligence (AI)-based image processing when capturing images. For example, AI-based image processing technology is being proposed that can detect full color images even with minimal lighting (e.g., dark environments such as at night). For example, AI-based image processing technology may refer to processing technology that allows high-quality images to be obtained even in a minimal lighting environment.
한편, AI 기반 영상 처리 기술의 경우, 현재까지는 영상(예: still image)을 위한 영상 처리에 이용되고 있다. 예를 들어, 전자 장치는 동영상(video)을 생성(예: 녹화)하는 과정에서는, 일반적인 영상 처리 알고리즘 기반의 기술로 영상 신호를 영상 처리하여 동영상을 제공하고 있다.Meanwhile, AI-based image processing technology is currently used for image processing for images (e.g. still images). For example, in the process of generating (e.g., recording) a video, an electronic device provides video by processing video signals using technology based on a general video processing algorithm.
예를 들어, 종래에서는 영상 처리 알고리즘 기반의 기술로 이미지 시그널 프로세서(ISP, image signal processor)가 구현되고 있고, 그 파이프라인(pipeline)이 정해져 있으며, 구조가 단순화되어 있다. 따라서, 종래에서는 영상 처리 방식의 한계를 가질 수 있으며, 최종 영상의 해상력에 큰 영향을 미치는 디모자익(demosaic) 및/또는 노이즈 리덕션(noise reduction)의 성능 개선에 대한 진척이 없는 상태일 수 있다. 예를 들어, 기존의 영상 처리 알고리즘은 최근의 AI 기반 영상 처리 알고리즘 대비 그 성능이 떨어질 수 있다. 하지만, AI 기반 영상 처리 알고리즘은 동영상을 촬영(예: 녹화)하는 시나리오에서 사용하기에는 전류 소모가 많아, 현재까지는 동영상에서는 일반적인 영상 처리 알고리즘이 적용되고 있는 실정이다.For example, conventionally, an image signal processor (ISP) is implemented as a technology based on an image processing algorithm, its pipeline is defined, and its structure is simplified. Therefore, conventional image processing methods may have limitations, and there may be no progress in improving the performance of demosaic and/or noise reduction, which have a significant impact on the resolution of the final image. For example, existing image processing algorithms may have lower performance compared to recent AI-based image processing algorithms. However, AI-based image processing algorithms consume a lot of current to be used in scenarios where video is captured (e.g., recorded), so to date, general image processing algorithms are being applied to videos.
본 개시의 일 실시예에서는, 동영상(video) 촬영 시에 인공지능(AI, artificial intelligence) 방식으로 동영상의 영상 처리를 지원할 수 있는 영상 처리 방법 및 이를 지원하는 전자 장치를 제공한다.In one embodiment of the present disclosure, an image processing method capable of supporting image processing of a video using an artificial intelligence (AI) method when shooting a video and an electronic device supporting the same are provided.
본 개시의 일 실시예에서는, 인공지능 기반 동영상 촬영(예: 녹화) 시에 해상력 및 노이즈 저감 능력을 향상할 수 있는 이미지 시그널 프로세서(ISP, image signal processor)의 구조를 통해, 실시간 디모자익(demosaic) 처리를 지원할 수 있는 영상 처리 방법 및 이를 지원하는 전자 장치를 제공한다.In one embodiment of the present disclosure, through the structure of an image signal processor (ISP) that can improve resolution and noise reduction ability during artificial intelligence-based video shooting (e.g., recording), real-time demosaic (demosaic) ) Provides an image processing method that can support processing and an electronic device that supports the same.
본 문서에서 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problem to be achieved in this document is not limited to the technical problem mentioned above, and other technical problems not mentioned can be clearly understood by those skilled in the art from the description below. There will be.
본 개시의 일 실시예에 따른 전자 장치는, 디스플레이, 카메라, 상기 디스플레이 및 상기 카메라와 작동적으로 연결된 프로세서, 및 상기 프로세서에 포함된 이미지 시그널 프로세서(ISP, image signal processor)를 포함할 수 있다. 일 실시예에 따른 상기 이미지 시그널 프로세서는, 사용자에 의해 동영상 촬영을 수행하는 동안, 상기 카메라를 통해 센서의 센서 출력 사이즈에 대응하는 입력 데이터를 수신하도록 동작할 수 있다. 일 실시예에 따른 상기 이미지 시그널 프로세서는, 상기 동영상이 촬영되는 설정 또는 설정 변경에 대응하는 파라미터를 결정하도록 동작할 수 있다. 일 실시예에 따른 상기 이미지 시그널 프로세서는, 상기 파라미터에 기반하여 상기 입력 데이터를 풀 컬러(full color) 영상으로 변환 및 상기 풀 컬러 영상의 출력 크기를 비디오 출력 사이즈에 맞게 가변하는 영상 처리를 수행하도록 동작할 수 있다. 일 실시예에 따른 상기 이미지 시그널 프로세서는, 영상 처리에 따른 영상 데이터를 출력하도록 동작할 수 있다.An electronic device according to an embodiment of the present disclosure may include a display, a camera, a processor operatively connected to the display and the camera, and an image signal processor (ISP) included in the processor. The image signal processor according to one embodiment may operate to receive input data corresponding to the sensor output size of the sensor through the camera while a user is capturing a video. The image signal processor according to one embodiment may operate to determine a parameter corresponding to a setting or setting change in which the video is captured. The image signal processor according to an embodiment is configured to perform image processing to convert the input data into a full color image based on the parameters and vary the output size of the full color image to match the video output size. It can work. The image signal processor according to one embodiment may operate to output image data according to image processing.
본 개시의 일 실시예에 따른 전자 장치의 영상 처리 장치는, 카메라, 상기 카메라와 작동적으로 연결된 이미지 시그널 프로세서(ISP, image signal processor), 및 상기 이미지 시그널 프로세서와 작동적으로 연결된 메모리를 포함할 수 있다. 일 실시예에 따르면, 상기 메모리는, 실행 시에, 상기 이미지 시그널 프로세서가, 사용자에 의해 동영상 촬영을 수행하는 동안, 상기 카메라를 통해 센서의 센서 출력 사이즈에 대응하는 입력 데이터를 수신하고, 상기 동영상이 촬영되는 설정 또는 설정 변경에 대응하는 파라미터를 결정하고, 상기 파라미터에 기반하여 상기 입력 데이터를 풀 컬러(full color) 영상으로 변환 및 상기 풀 컬러 영상의 출력 크기를 비디오 출력 사이즈에 맞게 가변하는 영상 처리를 수행하고, 및 영상 처리에 따른 영상 데이터를 출력하도록 하는 인스트럭션들을 저장할 수 있다.An image processing device of an electronic device according to an embodiment of the present disclosure may include a camera, an image signal processor (ISP) operatively connected to the camera, and a memory operatively connected to the image signal processor. You can. According to one embodiment, the memory, when executed, causes the image signal processor to receive input data corresponding to a sensor output size of a sensor through the camera while a video capture is performed by a user, and Determining parameters corresponding to the settings or setting changes to be captured, converting the input data to a full color image based on the parameters, and changing the output size of the full color image to match the video output size. Instructions for performing processing and outputting image data according to image processing may be stored.
본 개시의 일 실시예에 따른 전자 장치의 동작 방법은, 사용자에 의해 동영상 촬영을 수행하는 동안, 이미지 시그널 프로세서(ISP, image signal processor)가, 카메라를 통해 센서의 센서 출력 사이즈에 대응하는 입력 데이터를 수신하는 동작 수행을 포함할 수 있다. 상기 동작 방법은, 상기 동영상이 촬영되는 설정 또는 설정 변경에 대응하는 파라미터를 결정하는 동작 수행을 포함할 수 있다. 상기 동작 방법은, 상기 파라미터에 기반하여 상기 입력 데이터를 풀 컬러(full color) 영상으로 변환 및 상기 풀 컬러 영상의 출력 크기를 비디오 출력 사이즈에 맞게 가변하는 영상 처리를 수행하는 동작 수행을 포함할 수 있다. 상기 동작 방법은, 영상 처리에 따른 영상 데이터를 출력하는 동작 수행을 포함할 수 있다.A method of operating an electronic device according to an embodiment of the present disclosure includes, while a user is capturing a video, an image signal processor (ISP) transmits input data corresponding to the sensor output size of the sensor through a camera. It may include performing the operation of receiving. The operating method may include performing an operation to determine a parameter corresponding to a setting or setting change in which the video is captured. The operating method may include performing an operation of converting the input data into a full color image based on the parameters and performing image processing to vary the output size of the full color image to suit the video output size. there is. The operation method may include performing an operation of outputting image data according to image processing.
상기와 같은 과제를 해결하기 위하여 본 개시의 다양한 실시예들에서는, 상기 방법을 프로세서에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 포함할 수 있다.In order to solve the above problems, various embodiments of the present disclosure may include a computer-readable recording medium on which a program for executing the method on a processor is recorded.
일 실시예에 따르면, 하나 이상의 프로그램들을 저장하는 비 일시적(non-transitory) 컴퓨터 판독 가능 저장 매체(또는 컴퓨터 프로그램 프로덕트(product))가 기술된다. 일 실시예에 따르면, 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시, 사용자에 의해 동영상 촬영을 수행하는 동안, 이미지 시그널 프로세서(ISP, image signal processor)가, 카메라를 통해 센서의 센서 출력 사이즈에 대응하는 입력 데이터를 수신하는 동작, 상기 동영상이 촬영되는 설정 또는 설정 변경에 대응하는 파라미터를 결정하는 동작, 상기 파라미터에 기반하여 상기 입력 데이터를 풀 컬러(full color) 영상으로 변환 및 상기 풀 컬러 영상의 출력 크기를 비디오 출력 사이즈에 맞게 가변하는 영상 처리를 수행하는 동작, 및 영상 처리에 따른 영상 데이터를 출력하는 동작을 수행하는 명령어를 포함할 수 있다.According to one embodiment, a non-transitory computer-readable storage medium (or computer program product) storing one or more programs is described. According to one embodiment, one or more programs, when executed by a processor of an electronic device, may output a sensor output size of a sensor through a camera while a user performs video capture. An operation of receiving input data corresponding to the video, an operation of determining a parameter corresponding to a setting or setting change in which the video is captured, converting the input data into a full color image based on the parameter, and the full color image. It may include a command for performing image processing to change the output size of the image to match the video output size, and an operation for outputting image data according to the image processing.
본 개시의 적용 가능성의 추가적인 범위는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나 본 개시의 사상 및 범위 내에서 다양한 변경 및 수정은 당업자에게 명확하게 이해될 수 있으므로, 상세한 설명 및 본 개시의 바람직한 실시예와 같은 특정 실시예는 단지 예시로 주어진 것으로 이해되어야 한다.Additional scope of applicability of the present disclosure will become apparent from the detailed description that follows. However, since various changes and modifications within the spirit and scope of the present disclosure may be clearly understood by those skilled in the art, the detailed description and specific embodiments, such as preferred embodiments of the present disclosure, should be understood as being given by way of example only.
본 개시의 일 실시예에 따른 전자 장치, 그 동작 방법 및 기록 매체에 따르면, 동영상에서 인공지능 기반 영상 처리 시에 전력 소모를 감소하고, 해상력을 높일 수 있다. 일 실시예에 따르면, 이미지 시그널 프로세서에서 AI 네트워크의 파라미터 교체에 기반하여 풀 컬러 이미지(full color image)를 생성함과 동시에 리사이즈(resize)를 수행하여, 인공지능 기반 동영상 촬영(예: 녹화) 시의 전류 소모를 낮출 수 있다. 일 실시예에 따르면, 인공지능 기반으로 영상 처리를 위한 연산을 처리하여 화질의 품질을 향상하면, 연산량 감소로 인한 전력 소모를 최소화하도록 할 수 있다. 일 실시예에 따르면, 인공지능 기반 영상 처리에 따른 전력 소모 감소를 통해, 복잡도가 높은 동영상 촬영(예: 녹화) 시에도 이미지 시그널 프로세서의 AI 네트워크의 사용을 가능하도록 할 수 있다.According to an electronic device, its operating method, and a recording medium according to an embodiment of the present disclosure, power consumption can be reduced and resolution can be increased when processing artificial intelligence-based images in video. According to one embodiment, the image signal processor generates a full color image based on parameter replacement of the AI network and simultaneously performs resize, so that when shooting (e.g. recording) an artificial intelligence-based video, Current consumption can be reduced. According to one embodiment, if image quality is improved by processing calculations for image processing based on artificial intelligence, power consumption due to a reduction in the amount of calculation can be minimized. According to one embodiment, by reducing power consumption due to artificial intelligence-based image processing, it is possible to use the AI network of the image signal processor even during high-complexity video shooting (e.g., recording).
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다. 본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.In addition, various effects that can be directly or indirectly identified through this document may be provided. The effects that can be obtained from the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below. will be.
도면 설명과 관련하여, 동일 또는 유사한 구성 요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.In relation to the drawing description, the same or similar reference numerals may be used for the same or similar components.
도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.1 is a block diagram of an electronic device in a network environment according to various embodiments.
도 2는 다양한 실시예들에 따른 카메라 모듈을 예시하는 블록도이다.2 is a block diagram illustrating a camera module according to various embodiments.
도 3은 본 개시의 일 실시예에 따른 전자 장치의 구성을 개략적으로 도시하는 도면이다.FIG. 3 is a diagram schematically showing the configuration of an electronic device according to an embodiment of the present disclosure.
도 4는 본 개시의 일 실시예에 따른 이미지 시그널 프로세서의 구성을 개략적으로 도시하는 도면이다.FIG. 4 is a diagram schematically showing the configuration of an image signal processor according to an embodiment of the present disclosure.
도 5는 본 개시의 일 실시예에 따른 이미지 시그널 프로세서에서 계측부와 정렬부의 동작의 일 예를 도시하는 도면이다.FIG. 5 is a diagram illustrating an example of operations of a measurement unit and an alignment unit in an image signal processor according to an embodiment of the present disclosure.
도 6은 본 개시의 일 실시예에 따른 이미지 시그널 프로세서에서 전처리부의 동작의 일 예를 도시하는 도면이다.FIG. 6 is a diagram illustrating an example of the operation of a preprocessor in an image signal processor according to an embodiment of the present disclosure.
도 7은 본 개시의 일 실시예에 따른 이미지 시그널 프로세서에서 풀 컬러 이미지의 일 예를 도시하는 도면이다.FIG. 7 is a diagram illustrating an example of a full color image in an image signal processor according to an embodiment of the present disclosure.
도 8은 본 개시의 일 실시예에 따른 이미지 시그널 프로세서의 출력의 일 예를 도시하는 도면이다.FIG. 8 is a diagram illustrating an example of the output of an image signal processor according to an embodiment of the present disclosure.
도 9는 본 개시의 일 실시예에 따른 이미지 시그널 프로세서의 네트워크 캐시의 일 예를 도시하는 도면이다.FIG. 9 is a diagram illustrating an example of a network cache of an image signal processor according to an embodiment of the present disclosure.
도 10은 본 개시의 일 실시예에 따른 이미지 시그널 프로세서의 연산 동작의 일 예를 도시하는 도면이다.FIG. 10 is a diagram illustrating an example of an operation of an image signal processor according to an embodiment of the present disclosure.
도 11a, 도 11b 및 도 11c는 본 개시의 일 실시예에 따른 이미지 시그널 프로세서에서 스케일링 동작의 일 예를 도시하는 도면들이다. FIGS. 11A, 11B, and 11C are diagrams illustrating an example of a scaling operation in an image signal processor according to an embodiment of the present disclosure.
도 12는 본 개시의 일 실시예에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.FIG. 12 is a flowchart illustrating a method of operating an electronic device according to an embodiment of the present disclosure.
도 1은 다양한 실시예들에 따른 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.Referring to FIG. 1, in the network environment 100, the electronic device 101 communicates with the electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) or a second network 199. It is possible to communicate with at least one of the electronic device 104 or the server 108 through (e.g., a long-distance wireless communication network). According to one embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108. According to one embodiment, the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or may include an antenna module 197. In some embodiments, at least one of these components (eg, the connection terminal 178) may be omitted or one or more other components may be added to the electronic device 101. In some embodiments, some of these components (e.g., sensor module 176, camera module 180, or antenna module 197) are integrated into one component (e.g., display module 160). It can be.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치(CPU, central processing unit) 또는 어플리케이션 프로세서(AP, application processor)) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치(GPU, graphic processing unit), 신경망 처리 장치(NPU, neural processing unit), 이미지 시그널 프로세서(ISP, image signal processor), 센서 허브 프로세서(sensor hub processor), 또는 커뮤니케이션 프로세서(CP, communication processor))를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.The processor 120, for example, executes software (e.g., program 140) to operate at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 120 stores instructions or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132. The commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134. According to one embodiment, the processor 120 is a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)) or an auxiliary processor (e.g., a central processing unit (CPU) or an application processor (AP)) that can be operated independently or together. 123) (e.g., graphic processing unit (GPU), neural processing unit (NPU), image signal processor (ISP), sensor hub processor, or communication processor (CP, communication processor)) may be included. For example, if the electronic device 101 includes a main processor 121 and a secondary processor 123, the secondary processor 123 may be set to use lower power than the main processor 121 or be specialized for a designated function. You can. The auxiliary processor 123 may be implemented separately from the main processor 121 or as part of it.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(inactive)(예: 슬립(sleep)) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.The auxiliary processor 123 may, for example, replace the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or when the main processor 121 While in an active (e.g., application execution) state, at least one of the components of the electronic device 101 (e.g., the display module 160, the sensor module 176, or At least some of the functions or states related to the communication module 190 can be controlled. According to one embodiment, co-processor 123 (e.g., image signal processor or communication processor) may be implemented as part of another functionally related component (e.g., camera module 180 or communication module 190). there is. According to one embodiment, the auxiliary processor 123 (eg, neural network processing device) may include a hardware structure specialized for processing artificial intelligence models. Artificial intelligence models can be created through machine learning. For example, such learning may be performed in the electronic device 101 itself on which the artificial intelligence model is performed, or may be performed through a separate server (e.g., server 108). Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but It is not limited. An artificial intelligence model may include multiple artificial neural network layers. Artificial neural networks include deep neural network (DNN), convolutional neural network (CNN), recurrent neural network (RNN), restricted boltzmann machine (RBM), belief deep network (DBN), bidirectional recurrent deep neural network (BRDNN), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the examples described above. In addition to hardware structures, artificial intelligence models may additionally or alternatively include software structures.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다. The memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101. Data may include, for example, input data or output data for software (e.g., program 140) and instructions related thereto. Memory 130 may include volatile memory 132 or non-volatile memory 134.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(OS, operating system)(142), 미들 웨어(middleware)(144) 또는 어플리케이션(146)을 포함할 수 있다. The program 140 may be stored as software in the memory 130 and may include, for example, an operating system (OS) 142, middleware 144, or applications 146. there is.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. The input module 150 may receive commands or data to be used in a component of the electronic device 101 (e.g., the processor 120) from outside the electronic device 101 (e.g., a user). The input module 150 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The sound output module 155 may output sound signals to the outside of the electronic device 101. The sound output module 155 may include, for example, a speaker or a receiver. Speakers can be used for general purposes such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다. The display module 160 can visually provide information to the outside of the electronic device 101 (eg, a user). The display module 160 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling the device. According to one embodiment, the display module 160 may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of force generated by the touch.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.The audio module 170 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 101). Sound may be output through the electronic device 102 (e.g., speaker or headphone).
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. The sensor module 176 detects the operating state (e.g., power or temperature) of the electronic device 101 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do. According to one embodiment, the sensor module 176 includes, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD(secure digital) 카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The interface 177 may support one or more designated protocols that can be used to connect the electronic device 101 directly or wirelessly with an external electronic device (eg, the electronic device 102). According to one embodiment, the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102). According to one embodiment, the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The haptic module 179 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The camera module 180 can capture still images and moving images. According to one embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The power management module 188 can manage power supplied to the electronic device 101. According to one embodiment, the power management module 188 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.The battery 189 may supply power to at least one component of the electronic device 101. According to one embodiment, the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN(wide area network))와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다. Communication module 190 is configured to provide a direct (e.g., wired) communication channel or wireless communication channel between electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108). It can support establishment and communication through established communication channels. Communication module 190 operates independently of processor 120 (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module 190 may be a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., : LAN (local area network) communication module, or power line communication module) may be included. Among these communication modules, the corresponding communication module is a first network 198 (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (e.g., legacy It may communicate with an external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a telecommunication network such as a LAN or wide area network (WAN)). These various types of communication modules may be integrated into one component (e.g., a single chip) or may be implemented as a plurality of separate components (e.g., multiple chips). The wireless communication module 192 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 to communicate within a communication network such as the first network 198 or the second network 199. The electronic device 101 can be confirmed or authenticated.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB, enhanced mobile broadband), 단말 전력 최소화와 다수 단말의 접속(mMTC, massive machine type communications), 또는 고신뢰도와 저지연(URLLC, ultra-reliable and low-latency communications)을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO, full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.The wireless communication module 192 may support 5G networks after 4G networks and next-generation communication technologies, for example, NR access technology (new radio access technology). NR access technologies include high-speed transmission of high-capacity data (eMBB, enhanced mobile broadband), minimization of terminal power and access to multiple terminals (mMTC, massive machine type communications), or high-reliability and low-latency (URLLC, ultra-reliable and low-latency). communications) can be supported. The wireless communication module 192 may support high frequency bands (eg, mmWave bands), for example, to achieve high data rates. The wireless communication module 192 uses various technologies to secure performance in high frequency bands, for example, beamforming, massive array multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. It can support technologies such as input/output (FD-MIMO, full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module 192 may support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 104), or a network system (e.g., second network 199). According to one embodiment, the wireless communication module 192 supports Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC. Example: Downlink (DL) and uplink (UL) each of 0.5 ms or less, or round trip 1 ms or less) can be supported.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.The antenna module 197 may transmit or receive signals or power to or from the outside (eg, an external electronic device). According to one embodiment, the antenna module 197 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB). According to one embodiment, the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for the communication method used in the communication network, such as the first network 198 or the second network 199, is connected to the plurality of antennas by, for example, the communication module 190. can be selected. Signals or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna. According to some embodiments, in addition to the radiator, other components (eg, radio frequency integrated circuit (RFIC)) may be additionally formed as part of the antenna module 197.
다양한 실시예들에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.According to various embodiments, the antenna module 197 may form a mmWave antenna module. According to one embodiment, a mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the components are connected to each other through a communication method between peripheral devices (e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) and signal ( (e.g. commands or data) can be exchanged with each other.
일 실시예에 따르면, 명령 또는 데이터는 제2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC, mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.According to one embodiment, commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199. Each of the external electronic devices 102 or 104 may be of the same or different type as the electronic device 101. According to one embodiment, all or part of the operations performed in the electronic device 101 may be executed in one or more of the external electronic devices 102, 104, or 108. For example, when the electronic device 101 needs to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device 101 may perform the function or service instead of executing the function or service on its own. Alternatively, or additionally, one or more external electronic devices may be requested to perform at least part of the function or service. One or more external electronic devices that have received the request may execute at least part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device 101. The electronic device 101 may process the result as is or additionally and provide it as at least part of a response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology can be used. The electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device 104 may include an Internet of Things (IoT) device. Server 108 may be an intelligent server using machine learning and/or neural networks. According to one embodiment, the external electronic device 104 or server 108 may be included in the second network 199. The electronic device 101 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
도 2는 다양한 실시예들에 따른 카메라 모듈(180)을 예시하는 블록도(200)이다. 2 is a block diagram 200 illustrating a camera module 180 according to various embodiments.
도 2를 참조하면, 카메라 모듈(180)은 렌즈 어셈블리(lens assembly)(210), 플래쉬(flash)(220), 이미지 센서(image sensor)(230), 이미지 스태빌라이저(image stabilizer)(240), 메모리(memory)(250)(예: 버퍼 메모리), 또는 이미지 시그널 프로세서(image signal processor)(260)를 포함할 수 있다. Referring to FIG. 2, the camera module 180 includes a lens assembly 210, a flash 220, an image sensor 230, an image stabilizer 240, It may include a memory 250 (e.g., buffer memory) or an image signal processor 260.
렌즈 어셈블리(210)는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리(210)는 하나 또는 그 이상의 렌즈들을 포함할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 복수의 렌즈 어셈블리(210)들을 포함할 수 있다. 이런 경우, 카메라 모듈(180)은, 예를 들면, 듀얼 카메라, 360도 카메라, 또는 구형 카메라(spherical camera)를 형성할 수 있다. 복수의 렌즈 어셈블리(210)들 중 일부는 동일한 렌즈 속성(예: 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나, 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 어셈블리의 렌즈 속성들과 다른 하나 이상의 렌즈 속성들을 가질 수 있다. 렌즈 어셈블리(210)는, 예를 들면, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다. The lens assembly 210 may collect light emitted from a subject that is the target of image capture. Lens assembly 210 may include one or more lenses. According to one embodiment, the camera module 180 may include a plurality of lens assemblies 210. In this case, the camera module 180 may form, for example, a dual camera, a 360-degree camera, or a spherical camera. Some of the plurality of lens assemblies 210 have the same lens properties (e.g., angle of view, focal length, autofocus, f number, or optical zoom), or at least one lens assembly is different from another lens assembly. It may have one or more lens properties that are different from the lens properties of . The lens assembly 210 may include, for example, a wide-angle lens or a telephoto lens.
플래쉬(220)는 피사체로부터 방출 또는 반사되는 빛을 강화하기 위하여 사용되는 빛을 방출할 수 있다. 일 실시예에 따르면, 플래쉬(220)는 하나 이상의 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 xenon lamp를 포함할 수 있다. The flash 220 may emit light used to enhance light emitted or reflected from a subject. According to one embodiment, the flash 220 may include one or more light emitting diodes (eg, red-green-blue (RGB) LED, white LED, infrared LED, or ultraviolet LED), or a xenon lamp.
이미지 센서(230)는 피사체로부터 방출 또는 반사되어 렌즈 어셈블리(210)를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 상기 피사체에 대응하는 이미지를 획득할 수 있다. 일 실시예에 따르면, 이미지 센서(230)는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 이미지 센서(230)에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서를 이용하여 구현될 수 있다.The image sensor 230 may acquire an image corresponding to the subject by converting light emitted or reflected from the subject and transmitted through the lens assembly 210 into an electrical signal. According to one embodiment, the image sensor 230 is one image sensor selected from among image sensors with different properties, such as an RGB sensor, a BW (black and white) sensor, an IR sensor, or a UV sensor, and the same It may include a plurality of image sensors having different properties, or a plurality of image sensors having different properties. Each image sensor included in the image sensor 230 may be implemented using, for example, a charged coupled device (CCD) sensor or a complementary metal oxide semiconductor (CMOS) sensor.
이미지 스태빌라이저(240)는 카메라 모듈(180) 또는 이를 포함하는 전자 장치(101)의 움직임에 반응하여, 렌즈 어셈블리(210)에 포함된 적어도 하나의 렌즈 또는 이미지 센서(230)를 특정한 방향으로 움직이거나 이미지 센서(230)의 동작 특성을 제어(예: 리드 아웃(read-out) 타이밍을 조정 등)할 수 있다. 이는 촬영되는 이미지에 대한 상기 움직임에 의한 부정적인 영향의 적어도 일부를 보상하게 해 준다. 일 실시예에 따르면, 이미지 스태빌라이저(240)는 카메라 모듈(180)의 내부 또는 외부에 배치된 자이로 센서(미도시) 또는 가속도 센서(미도시)를 이용하여 카메라 모듈(180) 또는 전자 장치(101)의 그런 움직임을 감지할 수 있다. 일 실시예에 따르면, 이미지 스태빌라이저(240)는, 예를 들면, 광학식 이미지 스태빌라이저로 구현될 수 있다. The image stabilizer 240 moves at least one lens or image sensor 230 included in the lens assembly 210 in a specific direction in response to the movement of the camera module 180 or the electronic device 101 including the same. The operating characteristics of the image sensor 230 can be controlled (e.g., adjusting read-out timing, etc.). This allows to compensate for at least some of the negative effects of said movement on the image being captured. According to one embodiment, the image stabilizer 240 uses a gyro sensor (not shown) or an acceleration sensor (not shown) disposed inside or outside the camera module 180 to stabilize the camera module 180 or the electronic device 101. ) can detect such movements. According to one embodiment, the image stabilizer 240 may be implemented as, for example, an optical image stabilizer.
메모리(250)는 이미지 센서(230)를 통하여 획득된 이미지의 적어도 일부를 다음 이미지 처리 작업을 위하여 적어도 일시 저장할 수 있다. 예를 들어, 셔터에 따른 이미지 획득이 지연되거나, 또는 복수의 이미지들이 고속으로 획득되는 경우, 획득된 원본 이미지(예: Bayer-patterned 이미지 또는 높은 해상도의 이미지)는 메모리(250)에 저장이 되고, 그에 대응하는 사본 이미지(예: 낮은 해상도의 이미지)는 디스플레이 모듈(160)을 통하여 프리뷰(preview)될 수 있다. 이후, 지정된 조건이 만족되면(예: 사용자 입력 또는 시스템 명령) 메모리(250)에 저장되었던 원본 이미지의 적어도 일부가, 예를 들면, 이미지 시그널 프로세서(260)에 의해 획득되어 처리될 수 있다. 일 실시예에 따르면, 메모리(250)는 메모리(130)의 적어도 일부로, 또는 이와는 독립적으로 운영되는 별도의 메모리로 구성될 수 있다.The memory 250 may at least temporarily store at least a portion of the image acquired through the image sensor 230 for the next image processing task. For example, when image acquisition is delayed due to the shutter or when multiple images are acquired at high speed, the acquired original image (e.g., Bayer-patterned image or high-resolution image) is stored in the memory 250. , the corresponding copy image (eg, low-resolution image) may be previewed through the display module 160. Thereafter, when a specified condition is satisfied (eg, user input or system command), at least a portion of the original image stored in the memory 250 may be obtained and processed, for example, by the image signal processor 260. According to one embodiment, the memory 250 may be configured as at least part of the memory 130 or as a separate memory that operates independently.
이미지 시그널 프로세서(260)는 이미지 센서(230)를 통하여 획득된 이미지 또는 메모리(250)에 저장된 이미지에 대하여 하나 이상의 이미지 처리들을 수행할 수 있다. 상기 하나 이상의 이미지 처리들은, 예를 들면, 깊이 지도(depth map) 생성, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening))을 포함할 수 있다. 추가적으로 또는 대체적으로, 이미지 시그널 프로세서(260)는 카메라 모듈(180)에 포함된 구성 요소들 중 적어도 하나(예: 이미지 센서(230))에 대한 제어(예: 노출 시간 제어, 또는 리드 아웃 타이밍 제어 등)를 수행할 수 있다. 이미지 시그널 프로세서(260)에 의해 처리된 이미지는 추가 처리를 위하여 메모리(250)에 다시 저장되거나 카메라 모듈(180)의 외부 구성 요소(예: 메모리(130), 디스플레이 모듈(160), 전자 장치(102), 전자 장치(104), 또는 서버(108))로 제공될 수 있다. 일 실시예에 따르면, 이미지 시그널 프로세서(260)는 프로세서(120)의 적어도 일부로 구성되거나, 프로세서(120)와 독립적으로 운영되는 별도의 프로세서로 구성될 수 있다. 이미지 시그널 프로세서(260)가 프로세서(120)와 별도의 프로세서로 구성된 경우, 이미지 시그널 프로세서(260)에 의해 처리된 적어도 하나의 이미지는 프로세서(120)에 의하여 그대로 또는 추가의 이미지 처리를 거친 후 디스플레이 모듈(160)을 통해 표시될 수 있다.The image signal processor 260 may perform one or more image processes on an image acquired through the image sensor 230 or an image stored in the memory 250. The one or more image processes may include, for example, depth map creation, three-dimensional modeling, panorama creation, feature point extraction, image compositing, or image compensation (e.g., noise reduction, resolution adjustment, brightness adjustment, blurring). may include blurring, sharpening, or softening. Additionally or alternatively, the image signal processor 260 provides control (e.g., exposure time control, or read-out timing control) for at least one of the components included in the camera module 180 (e.g., image sensor 230). etc.) can be performed. Images processed by the image signal processor 260 are stored back in memory 250 for further processing or are stored in external components of the camera module 180 (e.g., memory 130, display module 160, electronics ( 102), an electronic device 104, or a server 108). According to one embodiment, the image signal processor 260 may be configured as at least a part of the processor 120, or may be configured as a separate processor that operates independently from the processor 120. When the image signal processor 260 is configured as a separate processor from the processor 120, at least one image processed by the image signal processor 260 is displayed as is or after additional image processing by the processor 120. It may be displayed through module 160.
일 실시예에 따르면, 전자 장치(101)는 각각 다른 속성 또는 기능을 가진 복수의 카메라 모듈(180)들을 포함할 수 있다. 이런 경우, 예를 들면, 상기 복수의 카메라 모듈(180)들 중 적어도 하나는 광각 카메라이고, 적어도 다른 하나는 망원 카메라일 수 있다. 유사하게, 상기 복수의 카메라 모듈(180)들 중 적어도 하나는 전면 카메라이고, 적어도 다른 하나는 후면 카메라일 수 있다.According to one embodiment, the electronic device 101 may include a plurality of camera modules 180, each having different properties or functions. In this case, for example, at least one of the plurality of camera modules 180 may be a wide-angle camera, and at least another one may be a telephoto camera. Similarly, at least one of the plurality of camera modules 180 may be a front camera, and at least another one may be a rear camera.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.Electronic devices according to various embodiments disclosed in this document may be of various types. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to embodiments of this document are not limited to the above-described devices.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.The various embodiments of this document and the terms used herein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various changes, equivalents, or replacements of the embodiments. In connection with the description of the drawings, similar reference numbers may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the above items, unless the relevant context clearly indicates otherwise. As used herein, “A or B”, “at least one of A and B”, “at least one of A or B”, “A, B or C”, “at least one of A, B and C”, and “A Each of phrases such as “at least one of , B, or C” may include any one of the items listed together in the corresponding phrase, or any possible combination thereof. Terms such as "first", "second", or "first" or "second" may be used simply to distinguish one element from another, and may be used to distinguish such elements in other respects, such as importance or order) is not limited. One (e.g. first) component is said to be "coupled" or "connected" to another (e.g. second) component, with or without the terms "functionally" or "communicatively". Where mentioned, it means that any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term “module” used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as logic, logic block, component, or circuit, for example. It can be used as A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of the present document are one or more instructions stored in a storage medium (e.g., built-in memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). It may be implemented as software (e.g., program 140) including these. For example, a processor (e.g., processor 120) of a device (e.g., electronic device 101) may call at least one command among one or more commands stored from a storage medium and execute it. This allows the device to be operated to perform at least one function according to the at least one instruction called. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. A storage medium that can be read by a device may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between temporary storage cases.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, methods according to various embodiments disclosed in this document may be provided and included in a computer program product. Computer program products are commodities and can be traded between sellers and buyers. The computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online. In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱(heuristic)하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (e.g., module or program) of the above-described components may include a single or plural entity, and some of the plurality of entities may be separately placed in other components. there is. According to various embodiments, one or more of the components or operations described above may be omitted, or one or more other components or operations may be added. Alternatively or additionally, multiple components (eg, modules or programs) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each component of the plurality of components in the same or similar manner as those performed by the corresponding component of the plurality of components prior to the integration. . According to various embodiments, operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order. may be removed, omitted, or one or more other operations may be added.
도 3은 본 개시의 일 실시예에 따른 전자 장치의 구성을 개략적으로 도시하는 도면이다.FIG. 3 is a diagram schematically showing the configuration of an electronic device according to an embodiment of the present disclosure.
도 3을 참조하면, 본 개시의 일 실시예에 따른 전자 장치(101)는 디스플레이 모듈(160), 카메라 모듈(180), 메모리(130), 및/또는 프로세서(120)를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 도 1을 참조한 설명 부분에서 설명한 바와 같은 전자 장치(101)의 구성 요소의 전부 또는 적어도 일부를 포함할 수 있다.Referring to FIG. 3 , the electronic device 101 according to an embodiment of the present disclosure may include a display module 160, a camera module 180, a memory 130, and/or a processor 120. According to one embodiment, the electronic device 101 may include all or at least some of the components of the electronic device 101 as described in the description with reference to FIG. 1 .
일 실시예에 따르면, 디스플레이 모듈(160)은 도 1의 디스플레이 모듈(160)과 동일 또는 유사한 구성을 포함할 수 있다. 일 실시예에 따라, 디스플레이 모듈(160)는 디스플레이를 포함할 수 있고, 전자 장치(101)의 외부(예: 사용자)로 다양한 정보를 시각적으로 제공할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 프로세서(120)의 제어 하에, 실행하는 어플리케이션 및 그의 사용과 관련된 다양한 정보(예: 컨텐츠, 영상, 동영상)를 시각적으로 제공할 수 있다.According to one embodiment, the display module 160 may include the same or similar configuration as the display module 160 of FIG. 1. According to one embodiment, the display module 160 may include a display and visually provide various information to the outside of the electronic device 101 (eg, a user). According to one embodiment, the display module 160 may visually provide various information (eg, content, images, videos) related to the executing application and its use under the control of the processor 120.
일 실시예에 따라, 디스플레이 모듈(160)은 터치 센서(touch sensor), 터치의 세기를 측정할 수 있는 압력 센서(pressure sensor) 및/또는 자기장 방식의 스타일러스 펜을 검출하는 터치 패널(touch panel)(예: 디지타이저)을 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)는 터치 센서, 압력 센서 및/또는 터치 패널에 기반하여 디스플레이 모듈(160)의 특정 위치에 대한 신호(예: 전압, 광량, 저항, 전자기 신호 및/또는 전하량)의 변화를 측정함으로써 터치 입력 및/또는 호버링 입력(또는 근접 입력)을 감지할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 액정 표시 장치(LCD, liquid crystal display), OLED(organic light emitted diode), AMOLED(active matrix organic light emitted diode)를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 플렉서블 디스플레이(flexible display)를 포함할 수 있다.According to one embodiment, the display module 160 includes a touch sensor, a pressure sensor capable of measuring the intensity of touch, and/or a touch panel that detects a magnetic field-type stylus pen. (e.g. digitizer) may be included. According to one embodiment, the display module 160 receives a signal (e.g., voltage, amount of light, resistance, electromagnetic signal, and/or Touch input and/or hovering input (or proximity input) can be detected by measuring changes in electric charge. According to one embodiment, the display module 160 may include a liquid crystal display (LCD), an organic light emitted diode (OLED), or an active matrix organic light emitted diode (AMOLED). According to one embodiment, the display module 160 may include a flexible display.
일 실시예에 따르면, 카메라 모듈(180)은 도 1 또는 도 2의 카메라 모듈(180)에 대응할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 활성화 시에 피사체 촬영을 통해 관련 결과(예: 촬영 영상)를 프로세서(120) 및/또는 디스플레이 모듈(160)에 전달할 수 있다. According to one embodiment, the camera module 180 may correspond to the camera module 180 of FIG. 1 or FIG. 2. According to one embodiment, when activated, the camera module 180 may capture a subject and transmit related results (eg, a captured image) to the processor 120 and/or the display module 160.
일 실시예에 따르면, 메모리(130)는 도 1의 메모리(130)에 대응할 수 있다. 일 실시예에 따르면, 메모리(130)는 전자 장치(101)에 의해 사용되는 다양한 데이터를 저장할 수 있다. 일 실시예에서, 데이터는, 예를 들어, 어플리케이션(예: 도 1의 프로그램(140)), 및 어플리케이션과 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 일 실시예에서, 데이터는, 카메라 모듈을 통해 획득하는 카메라 영상 데이터를 포함할 수 있다. 일 실시예에서, 데이터는, 사용자와 상호작용으로 사용자의 학습에 기반하여 획득하는 다양한 학습 데이터를 포함할 수 있다. 일 실시예에서, 데이터는, 인공지능 기반 영상 처리를 지원하기 위한 다양한 스키마(schema)(또는 알고리즘, 모델, 네트워크 또는 함수(function))를 포함할 수 있다. According to one embodiment, the memory 130 may correspond to the memory 130 of FIG. 1 . According to one embodiment, the memory 130 may store various data used by the electronic device 101. In one embodiment, data may include, for example, input data or output data for an application (e.g., program 140 of FIG. 1) and instructions associated with the application. In one embodiment, the data may include camera image data acquired through a camera module. In one embodiment, the data may include various learning data acquired based on the user's learning through interaction with the user. In one embodiment, data may include various schemas (or algorithms, models, networks, or functions) to support artificial intelligence-based image processing.
일 실시예에 따라, 메모리(130)는, 실행 시에, 프로세서(120)가 동작하도록 하는 인스트럭션들(instructions)을 저장할 수 있다. 예를 들어, 어플리케이션은 메모리(130) 상에 소프트웨어(예: 도 1의 프로그램(140))로서 저장될 수 있고, 프로세서(120)에 의해 실행 가능할 수 있다. 일 실시예에 따라, 어플리케이션은 전자 장치(101)에서 다양한 기능 또는 서비스(예: 인공지능에 기반한 영상 촬영 기능)를 제공할 수 있는 다양한 어플리케이션일 수 있다. According to one embodiment, the memory 130 may store instructions that cause the processor 120 to operate when executed. For example, an application may be stored as software (eg, program 140 in FIG. 1) on the memory 130 and may be executable by the processor 120. According to one embodiment, the application may be a variety of applications that can provide various functions or services (eg, an image capture function based on artificial intelligence) on the electronic device 101.
일 실시예에 따르면, 프로세서(120)는, 전자 장치(101)의 사용자에 의해 요구되는 응용 계층 처리 기능을 할 수 있다. 일 실시예에 따르면, 프로세서(120)는 전자 장치(101)의 다양한 블록들을 위한 기능의 제어 및 명령을 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 전자 장치(101)의 각 구성 요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 수행할 수 있다. 예를 들어, 프로세서(120)는 도 1의 프로세서(120)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다. 프로세서(120)는, 예를 들어, 전자 장치(101)의 구성 요소들과 작동적으로 연결될 수 있다. 프로세서(120)는 전자 장치(101)의 다른 구성 요소로부터 수신된 명령 또는 데이터를 메모리(130)에 로드(load)하고, 메모리(130)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 저장할 수 있다.According to one embodiment, the processor 120 may perform an application layer processing function required by the user of the electronic device 101. According to one embodiment, the processor 120 may provide commands and control of functions for various blocks of the electronic device 101. According to one embodiment, the processor 120 may perform operations or data processing related to control and/or communication of each component of the electronic device 101. For example, the processor 120 may include at least some of the components and/or functions of the processor 120 of FIG. 1 . The processor 120 may be operatively connected to components of the electronic device 101, for example. The processor 120 may load commands or data received from other components of the electronic device 101 into the memory 130, process the commands or data stored in the memory 130, and store the resulting data. there is.
일 실시예에 따르면, 프로세서(120)는 어플리케이션 프로세서(AP, application processor)일 수 있다. 일 실시예에 따르면, 프로세서(120)는 전자 장치(101)의 연산과 멀티미디어 구동 기능을 담당하는 시스템 반도체일 수 있다. 일 실시예에 따르면, 프로세서(120)는 시스템 온 칩(SoC, system-on-chip) 형태로 구성되어, 여러 반도체 기술을 하나로 집적하고, 시스템 블록들을 하나의 칩으로 구현한 기술집약적 반도체 칩을 포함할 수 있다. 일 실시예에 따르면, 프로세서(120)의 시스템 블록들은, 도 3에 예시한 바와 같이, 그래픽 처리 장치(GPU, graphics processing unit)(310), 이미지 시그널 프로세서(ISP, image signal processor)(320), 중앙 처리 장치(CPU, central processing unit)(330), 신경망 처리 장치(NPU, neural processing unit)(340), 디지털 시그널 프로세서(digital signal processor)(350), 모뎀(modem)(360), 커넥티비티(connectivity)(370), 및/또는 시큐리티(security)(380) 블록을 포함할 수 있다.According to one embodiment, the processor 120 may be an application processor (AP). According to one embodiment, the processor 120 may be a system semiconductor responsible for calculation and multimedia driving functions of the electronic device 101. According to one embodiment, the processor 120 is configured in the form of a system-on-chip (SoC), a technology-intensive semiconductor chip that integrates several semiconductor technologies and implements system blocks into one chip. It can be included. According to one embodiment, the system blocks of the processor 120 include a graphics processing unit (GPU) 310 and an image signal processor (ISP) 320, as illustrated in FIG. 3. , central processing unit (CPU) 330, neural processing unit (NPU) 340, digital signal processor 350, modem 360, connectivity It may include (connectivity) 370 and/or security (security) 380 blocks.
일 실시예에 따라, GPU(310)는 그래픽 처리를 담당할 수 있다. 일 실시예에 따르면, GPU(310)는 CPU(330)의 명령을 받아 디스플레이 상에 사물(또는 물체)들의 모양, 위치, 색상, 음영, 움직임, 및/또는 질감을 표현하기 위한 그래픽 처리를 수행할 수 있다. According to one embodiment, GPU 310 may be responsible for graphics processing. According to one embodiment, the GPU 310 receives instructions from the CPU 330 and performs graphics processing to express the shape, position, color, shading, movement, and/or texture of objects (or objects) on the display. can do.
일 실시예에 따라, ISP(320)는 영상 및 동영상의 영상 처리 및 보정을 담당할 수 있다. 일 실시예에 따르면, ISP(320)는 카메라 모듈(180)의 이미지 센서(예: 도 2의 이미지 센서(230))에서 전송된 가공되지 않은 데이터(예: 입력 데이터, 미가공 데이터, 원본 데이터, 또는 로우 데이터(raw data))를 보정하여 사용자가 선호하는 형태의 영상을 생성하는 역할을 할 수 있다. 일 실시예에 따르면, ISP(320)는 카메라 모듈(180)에서 발생할 수 있는 물리적 한계점들을 보정하고, R/G/B(red, green, blue) 값들을 보간 및 노이즈를 제거할 수 있다. 일 실시예에 따르면, ISP(320)는 영상의 부분적인 밝기를 조절하고, 디테일한 부분을 강조하는 것과 같은 후처리를 수행할 수 있다. 예를 들어, ISP(320)는 카메라 모듈(180)을 통해 획득하는 영상의 화질 튜닝 및 보정 과정을 자체적으로 거쳐 사용자가 선호하는 결과물을 생성할 수 있다. According to one embodiment, the ISP 320 may be responsible for processing and correcting images and videos. According to one embodiment, the ISP 320 receives raw data (e.g., input data, raw data, original data, Alternatively, it can play a role in correcting raw data to create an image in the user's preferred form. According to one embodiment, the ISP 320 may correct physical limitations that may occur in the camera module 180, interpolate red, green, blue (R/G/B) values, and remove noise. According to one embodiment, the ISP 320 may perform post-processing such as adjusting partial brightness of the image and emphasizing detailed parts. For example, the ISP 320 can generate a result preferred by the user by independently tuning and correcting the image quality of the image acquired through the camera module 180.
일 실시예에 따르면, ISP(320)는 영상의 화질 개선, 신속한 영상 처리 및 전류 소모 감소(예: 저전력)를 위해 인공지능 기반 영상 처리 기술을 지원할 수 있다. 예를 들어, ISP(320)는 저전력을 유지하는 동시에 영상 화질을 개선할 수 있고, 이를 위해 인공지능 기반의 영상 촬영을 지원할 수 있다. 일 실시예에 따르면, ISP(320)는 어두운 저조도 환경에서 동영상의 화질을 높이는 것과 관련된 인공지능 기반 영상 처리를 지원할 수 있다. 일 실시예에 따르면, ISP(320)는 NPU(340)와 연동하여 촬영 중인 장면의 부분들을 인식 및/또는 분류하는 장면 세분화(scene segmentation)(예: 이미지 세그멘테이션(image segmentation)) 기술을 지원할 수 있다. 예를 들어, ISP(320)는 하늘, 수풀, 및/또는 피부와 같은 객체에 각기 다른 파라미터를 적용하여 처리하는 기능을 포함할 수 있다. 일 실시예에 따르면, ISP(320)는 인공지능 기능을 통해 영상 촬영 시, 사람 얼굴을 감지하여 표시하거나 그 얼굴의 좌표와 정보를 이용하여 영상의 밝기, 초점, 및/또는 색상을 조절할 수 있다.According to one embodiment, the ISP 320 may support artificial intelligence-based image processing technology to improve image quality, speed image processing, and reduce current consumption (e.g., low power). For example, the ISP 320 can maintain low power while improving video quality, and for this purpose, it can support artificial intelligence-based video shooting. According to one embodiment, the ISP 320 may support artificial intelligence-based image processing related to improving video quality in a dark, low-light environment. According to one embodiment, the ISP 320 may support scene segmentation (e.g., image segmentation) technology that recognizes and/or classifies parts of the scene being shot in conjunction with the NPU 340. there is. For example, the ISP 320 may include processing functions by applying different parameters to objects such as the sky, bushes, and/or skin. According to one embodiment, the ISP 320 detects and displays a human face when shooting an image through an artificial intelligence function, or uses the coordinates and information of the face to adjust the brightness, focus, and/or color of the image. .
일 실시예에 따라, 프로세서(120)의 ISP(320)의 구성 및 상세 동작에 관하여 후술하는 도면들을 참조하여 설명된다.According to one embodiment, the configuration and detailed operation of the ISP 320 of the processor 120 will be described with reference to the drawings described later.
일 실시예에 따라, CPU(330)는 프로세서(120)에 대응하는 역할을 담당할 수 있다. 일 실시예에 따르면, CPU(330)는 사용자의 명령을 해독하고, 산술과 논리연산, 및/또는 데이터 처리의 역할을 수행할 수 있다. 예를 들어, CPU(330)는 기억, 해석, 연산, 및 제어라는 기능을 담당할 수 있다. 일 실시예에 따르면, CPU(330)는 전자 장치(101)의 전반적인 기능을 제어할 수 있다. 예를 들어, CPU(330)는 운영체제(OS, operating system) 위에서 전자 장치(101)의 모든 소프트웨어(예: 어플리케이션)를 실행하고, 하드웨어 장치를 제어할 수 있다. According to one embodiment, the CPU 330 may play a role corresponding to the processor 120. According to one embodiment, the CPU 330 may decode user commands and perform arithmetic and logical operations and/or data processing. For example, the CPU 330 may be responsible for the functions of memory, interpretation, calculation, and control. According to one embodiment, the CPU 330 may control the overall functions of the electronic device 101. For example, the CPU 330 can execute all software (eg, applications) of the electronic device 101 on an operating system (OS) and control hardware devices.
일 실시예에 따라, NPU(340)는 인공지능의 딥러닝 알고리즘에 최적화된 처리를 담당할 수 있다. 일 실시예에 따르면, NPU(340)는 딥러닝 알고리즘 연산(예: 인공지능 연산)에 최적화된 프로세서로, 빅데이터(big data)를 사람의 신경망처럼 빠르고 효율적으로 처리할 수 있다. 예를 들어, NPU(340)는 인공지능 연산에 주로 이용될 수 있다. 일 실시예에 따르면, NPU(340)는 카메라 모듈(180)을 통해 영상 촬영 시 배경 안의 사물, 환경, 및/또는 인물을 인식하여 자동으로 초점을 조정하거나, 음식 사진 촬영 시 카메라 모듈(180)의 촬영 모드를 음식 모드로 자동 전환하거나, 및/또는 촬영된 결과물에서 불필요한 피사체만 지우는 처리를 담당할 수 있다.According to one embodiment, the NPU 340 may be responsible for processing optimized for an artificial intelligence deep learning algorithm. According to one embodiment, the NPU 340 is a processor optimized for deep learning algorithm calculations (e.g., artificial intelligence calculations), and can process big data quickly and efficiently like a human neural network. For example, the NPU 340 can be mainly used for artificial intelligence calculations. According to one embodiment, the NPU 340 recognizes objects, environments, and/or people in the background when taking an image through the camera module 180 and automatically adjusts the focus, or uses the camera module 180 when taking a picture of food. It can automatically switch the shooting mode to food mode and/or erase only unnecessary subjects from the captured results.
일 실시예에 따르면, 전자 장치(101)는 GPU(310), ISP(320), CPU(330), 및 NPU(340)와 같은 모든 프로세서를 상호작용하여 통합 머신 러닝(machine learning) 처리를 지원할 수 있다.According to one embodiment, the electronic device 101 supports integrated machine learning processing by interacting with all processors such as GPU 310, ISP 320, CPU 330, and NPU 340. You can.
일 실시예에 따라, DSP(350)는 디지털 신호를 빠르게 처리하도록 도와주는 집적회로를 나타낼 수 있다. 일 실시예에 따르면, DSP(350)는 아날로그 신호를 디지털로 변경하여 고속 처리하는 기능을 수행할 수 있다. According to one embodiment, the DSP 350 may represent an integrated circuit that helps quickly process digital signals. According to one embodiment, the DSP 350 may perform a high-speed processing function by converting an analog signal into a digital signal.
일 실시예에 따라, 모뎀(360)은 전자 장치(101)에서 다양한 통신 기능을 사용할 수 있도록 해주는 역할을 수행할 수 있다. 예를 들어, 모뎀(360)은 기지국과 신호를 주고받으면서 전화 및 데이터 송수신과 같은 통신을 지원할 수 있다. 일 실시예에 따르면, 모뎀(360)은 LTE 및 2G 내지 5G와 같은 통신 기술을 지원하는 통합 모뎀(예: 셀룰러(cellular) 모뎀, LTE 모뎀, 5G 모뎀, 및 5G-Advanced 모뎀, 및 6G 모뎀)을 포함할 수 있다. 일 실시예에 따르면, 모뎀(360)은 인공지능 알고리즘을 적용한 인공지능 모뎀을 포함할 수 있다. According to one embodiment, the modem 360 may perform a role that allows the electronic device 101 to use various communication functions. For example, the modem 360 can support communications such as phone calls and data transmission and reception by exchanging signals with a base station. According to one embodiment, the modem 360 is an integrated modem that supports communication technologies such as LTE and 2G to 5G (e.g., cellular modem, LTE modem, 5G modem, and 5G-Advanced modem, and 6G modem). may include. According to one embodiment, the modem 360 may include an artificial intelligence modem to which an artificial intelligence algorithm is applied.
일 실시예에 따라, 커넥티비티(370)는 IEEE 802.11에 기반한 무선 데이터 전송을 지원할 수 있다. 일 실시예에 따르면, 커넥티비티(370)는 IEEE 802.11(예: Wi-Fi) 및/또는 802.15(예: Bluetooth, ZigBee, UWB)에 기반한 통신 서비스를 지원할 수 있다. 예를 들어, 커넥티비티(370)는 비면허 대역을 사용하여 실내와 같이 국지적인 지역에서 불특정 다수를 대상으로 통신 서비스를 지원할 수 있다. According to one embodiment, connectivity 370 may support wireless data transmission based on IEEE 802.11. According to one embodiment, connectivity 370 may support communication services based on IEEE 802.11 (eg, Wi-Fi) and/or 802.15 (eg, Bluetooth, ZigBee, UWB). For example, the connectivity 370 can support communication services for an unspecified number of people in a localized area, such as indoors, using an unlicensed band.
일 실시예에 따라, 시큐리티(380)는 전자 장치(101)에 저장된 데이터나 서비스 간의 독립적인 보안 실행 환경을 제공할 수 있다. 일 실시예에 따르면, 시큐리티(380)는 전자 장치(101)의 생체 인식, 모바일 신분증, 및/또는 페이먼트와 같은 서비스 제공 시, 사용자 인증을 하는 과정에서 소프트웨어 및 하드웨어 상의 보안을 통해 외부로부터 해킹 발생을 방지하는 역할을 담당할 수 있다. 예를 들어, 시큐리티(380)는 전자 장치(101)의 자체의 보안 강화를 위한 기기 보안(device security)과 전자 장치(101)에서의 모바일 신분증, 페이먼트, 자동차 키와 같은 사용자 정보를 기반으로 하는 보안 서비스(security service)에서 독립적인 보안 실행 환경을 제공할 수 있다.According to one embodiment, the security 380 may provide an independent security execution environment between data or services stored in the electronic device 101. According to one embodiment, the security 380 prevents hacking from occurring through software and hardware security during user authentication when providing services such as biometrics, mobile ID, and/or payment of the electronic device 101. can play a role in preventing. For example, the security 380 is based on device security to strengthen the security of the electronic device 101 and user information such as mobile ID, payment, and car key in the electronic device 101. An independent security execution environment can be provided by the security service.
본 개시의 일 실시예에 따르면, 프로세서(120)(예: ISP(320))는 처리 회로(processing circuitry) 및/또는 실행 가능한 프로그램 요소(executable program elements)를 포함할 수 있다. 일 실시예에 따르면, 프로세서(120)(예: ISP(320))는 처리 회로 및/또는 실행 가능한 프로그램 요소에 기반하여, 동영상 촬영(예: 녹화) 시에 AI 방식으로 동영상의 영상 처리를 지원하는 것과 관련된 동작을 제어(또는 처리)할 수 있다. According to one embodiment of the present disclosure, the processor 120 (eg, ISP 320) may include processing circuitry and/or executable program elements. According to one embodiment, the processor 120 (e.g., ISP 320) supports image processing of a video in an AI manner when capturing (e.g., recording) a video based on processing circuits and/or executable program elements. You can control (or process) actions related to doing something.
일 실시예에 따르면, 프로세서(120)(예: ISP(320))는 사용자에 의해 동영상 촬영을 수행하는 동안, 카메라 모듈(180)을 통해 로우 데이터(raw data)(예: 입력 데이터, 미가공 데이터 또는 원본 데이터)를 수신하는 동작을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)(예: ISP(320))는 상기 동영상이 촬영되는 설정 또는 설정 변경에 대응하는 파라미터를 결정하는 동작을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)(예: ISP(320))는 상기 파라미터에 기반하여 상기 로우 데이터를 디모자익(demosaic) 및 스케일링(scaling)을 포함하는 영상 처리 동작을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)(예: ISP(320))는 영상 처리에 따른 영상 데이터를 출력하는 동작을 수행할 수 있다.According to one embodiment, the processor 120 (e.g., ISP 320) collects raw data (e.g., input data, raw data) through the camera module 180 while a video is captured by a user. or original data) may be performed. According to one embodiment, the processor 120 (e.g., ISP 320) may perform an operation to determine parameters corresponding to settings or settings changes in which the video is captured. According to one embodiment, the processor 120 (e.g., ISP 320) may perform image processing operations including demosaicing and scaling of the raw data based on the parameters. According to one embodiment, the processor 120 (eg, ISP 320) may perform an operation of outputting image data according to image processing.
일 실시예에 따라, 전자 장치(101)의 프로세서(120) 및/또는 ISP(320)의 상세 동작에 관하여 후술하는 도면들을 참조하여 설명된다.According to one embodiment, detailed operations of the processor 120 and/or the ISP 320 of the electronic device 101 will be described with reference to the drawings described later.
일 실시예에 따르면, 프로세서(120)(예: ISP(320))에서 수행하는 동작들은, 기록 매체(또는 컴퓨터 프로그램 프로덕트(product))로 구현될 수 있다. 예를 들어, 기록 매체는 프로세서(120)에서 수행하는 다양한 동작을 실행시키기 위한 프로그램을 기록한 비 일시적(non-transitory) 컴퓨터(computer)로 판독 가능한 기록 매체를 포함할 수 있다.According to one embodiment, operations performed by the processor 120 (eg, ISP 320) may be implemented as a recording medium (or computer program product). For example, the recording medium may include a non-transitory computer-readable recording medium on which a program for executing various operations performed by the processor 120 is recorded.
본 개시에서 설명되는 실시예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 하드웨어적인 구현에 의하면, 일 실시예에서 설명되는 동작들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로프로세서(microprocessors), 및/또는 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. Embodiments described in this disclosure may be implemented in a recording medium readable by a computer or similar device using software, hardware, or a combination thereof. According to hardware implementation, the operations described in one embodiment include application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and field programmable gate arrays (FPGAs). ), processors, controllers, micro-controllers, microprocessors, and/or other electrical units to perform functions. .
일 실시예에서, 기록 매체(또는 컴퓨터 프로그램 프로덕트)는, 사용자에 의해 동영상 촬영을 수행하는 동안, 이미지 시그널 프로세서(ISP, image signal processor)가, 카메라 모듈을 통해 로우 데이터(raw data)를 수신하는 동작, 상기 동영상이 촬영되는 설정 또는 설정 변경에 대응하는 파라미터를 결정하는 동작, 상기 파라미터에 기반하여 상기 로우 데이터를 디모자익(demosaic) 및 스케일링(scaling)을 포함하는 영상 처리를 수행하는 동작, 및 영상 처리에 따른 영상 데이터를 출력하는 동작을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 포함할 수 있다.In one embodiment, the recording medium (or computer program product) includes an image signal processor (ISP) receiving raw data through a camera module while a user performs video capture. An operation of determining a parameter corresponding to a setting or setting change in which the video is captured, an operation of performing image processing including demosaicing and scaling of the raw data based on the parameter, and It may include a computer-readable recording medium on which a program for executing an operation of outputting image data according to image processing is recorded.
도 4는 본 개시의 일 실시예에 따른 이미지 시그널 프로세서의 구성을 개략적으로 도시하는 도면이다.FIG. 4 is a diagram schematically showing the configuration of an image signal processor according to an embodiment of the present disclosure.
도 5는 본 개시의 일 실시예에 따른 이미지 시그널 프로세서에서 계측부와 정렬부의 동작의 일 예를 도시하는 도면이다.FIG. 5 is a diagram illustrating an example of operations of a measurement unit and an alignment unit in an image signal processor according to an embodiment of the present disclosure.
도 6은 본 개시의 일 실시예에 따른 이미지 시그널 프로세서에서 전처리부의 동작의 일 예를 도시하는 도면이다.FIG. 6 is a diagram illustrating an example of the operation of a preprocessor in an image signal processor according to an embodiment of the present disclosure.
도 7은 본 개시의 일 실시예에 따른 이미지 시그널 프로세서에서 풀 컬러 이미지의 일 예를 도시하는 도면이다.FIG. 7 is a diagram illustrating an example of a full color image in an image signal processor according to an embodiment of the present disclosure.
일 실시예에 따르면, 도 4에서는 전자 장치(101)에서 동영상 촬영 시에, 카메라 모듈(180)을 통해 획득되는 영상을 ISP(320)에서 전달받아, 인공지능 기반의 영상 처리를 수행하는 구조 및 그 동작의 일 예를 나타낼 수 있다.According to one embodiment, in Figure 4, when shooting a video in the electronic device 101, the image acquired through the camera module 180 is received from the ISP 320, and artificial intelligence-based image processing is performed. An example of the operation can be shown.
도 4를 참조하면, 전자 장치(101)는 카메라 모듈(180)(예: 도 1 또는 도 2의 카메라 모듈(180)), 이미지 시그널 프로세서(320)(예: 도 3의 ISP(320)), 및 메모리(480)(예: 도 1 또는 도 3의 메모리(130) 또는 도 2의 메모리(250))를 포함할 수 있다. 일 실시예에서, 카메라 모듈(180)은 이미지 센서(410), 리시버부(420), 및 계측부(430)를 포함할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 도시하지는 않았으나, 렌즈(예: 도 2의 렌즈 어셈블리(210))를 포함할 수 있다. 일 실시예에서, ISP(320)는 정렬부(440), 전처리부(preprocessor)(450), AI 네트워크(460), 및 후처리부(470)를 포함할 수 있다. 일 실시예에서, 메모리(480)는 전자 장치(101)에 포함된 메모리(예: 도 1 또는 도 3의 메모리(130))이거나, 및/또는 카메라 모듈(180)에 포함된 메모리(예: 도 2의 메모리(250))일 수 있다.Referring to FIG. 4, the electronic device 101 includes a camera module 180 (e.g., the camera module 180 in FIG. 1 or 2) and an image signal processor 320 (e.g., the ISP 320 in FIG. 3). , and a memory 480 (eg, the memory 130 of FIG. 1 or FIG. 3 or the memory 250 of FIG. 2). In one embodiment, the camera module 180 may include an image sensor 410, a receiver unit 420, and a measurement unit 430. According to one embodiment, the camera module 180 may include a lens (eg, the lens assembly 210 of FIG. 2), although not shown. In one embodiment, ISP 320 may include an alignment unit 440, a preprocessor 450, an AI network 460, and a post-processor 470. In one embodiment, the memory 480 is a memory included in the electronic device 101 (e.g., memory 130 of FIG. 1 or 3), and/or a memory included in the camera module 180 (e.g., It may be the memory 250 of FIG. 2).
일 실시예에 따라, 이미지 센서(410)(예: 도 2의 이미지 센서(230))는 카메라 모듈(180)의 렌즈(예: 도 2의 렌즈 어셈블리(210))로부터 로우 데이터(raw data)를 수신할 수 있다. 일 실시예에 따르면, 이미지 센서(410)는 이미지 센서(410)의 CFA(color filter array) 패턴(예: 컬러 필터 모양(Bayer pattern))에 따라 CFA 데이터(또는 CFA 영상)을 수신할 수 있다.According to one embodiment, the image sensor 410 (e.g., the image sensor 230 of FIG. 2) receives raw data from the lens of the camera module 180 (e.g., the lens assembly 210 of FIG. 2). can receive. According to one embodiment, the image sensor 410 may receive CFA data (or CFA image) according to a color filter array (CFA) pattern (e.g., color filter shape (Bayer pattern)) of the image sensor 410. .
일 실시예에 따라, 리시버부(420)는 이미지 센서(410)의 로우 데이터를 실시간으로 수신할 수 있다. 일 실시예에 따라, 리시버부(420)는 실시간으로 수신하는 로우 데이터를 메모리(480)에 전달할 수 있다. 일 실시예에 따르면, 리시버부(420)는 이미지 센서(410)의 출력 특성에 맞게 로우 데이터를 메모리(480)에 직접 전송(예: DMA, direct memory access)하는 역할을 수행할 수 있다. 예를 들어, 리시버부(420)는 CPU(예: 도 3의 CPU(330))의 개입 없이 이미지 센서(410)와 메모리(480) 간의 데이터를 직접 전송(예: 공유)하는 역할을 수행할 수 있다. According to one embodiment, the receiver unit 420 may receive raw data from the image sensor 410 in real time. According to one embodiment, the receiver unit 420 may transmit raw data received in real time to the memory 480. According to one embodiment, the receiver unit 420 may perform a role of directly transmitting raw data to the memory 480 (eg, direct memory access, DMA) according to the output characteristics of the image sensor 410. For example, the receiver unit 420 may perform the role of directly transmitting (e.g., sharing) data between the image sensor 410 and the memory 480 without intervention of the CPU (e.g., CPU 330 in FIG. 3). You can.
일 실시예에 따라, 계측부(430)는 이미지 센서(410)로부터 로우 데이터를 수신하고, 수신된 로우 데이터에 기반하여 계측 데이터를 추출할 수 있다. 일 실시예에 따라, 계측 데이터는 모션 데이터(motion data) 및 3A(예: Auto exposure, Auto white balance, Auto focus) 데이터를 포함할 수 있다. 일 실시예에 따르면, 계측 데이터는 후처리부(470)에서 사용할 톤(tone) 보정 히스토그램 데이터를 포함할 수 있다.According to one embodiment, the measurement unit 430 may receive raw data from the image sensor 410 and extract measurement data based on the received raw data. According to one embodiment, the measurement data may include motion data and 3A (eg, Auto exposure, Auto white balance, Auto focus) data. According to one embodiment, the measurement data may include tone correction histogram data to be used in the post-processing unit 470.
일 실시예에 따르면, 계측부(430)는 이미지 센서(410)의 CFA에 따라 유연하게 동작할 수 있다. 일 실시예에 따르면, 계측부(430)는 이미지 센서(410)의 CFA 패턴에 따라 계측을 수행할 수 있다. 예를 들어, 계측부(430)는 히스토그램을 계산하기 위한 휘도 영상을 생성할 때, 입력되는 각 색 채널을 휘도로 합성하는 계수를 변경할 수 있다. 일 실시예에 따르면, 계측부(430)는 채널 별로 계측을 수행하고, 이미지 센서(410)의 CFA 변경 시에 변경되는 CFA에 맞추어 계측을 수행할 수 있다. 일 실시예에 따르면, 계측부(430)는 이미지 센서(410)로부터 적어도 한 장의 프레임(예: 1 장 또는 N 장의 프레임)을 통해 영상의 움직임을 판단할 수 있다.According to one embodiment, the measurement unit 430 may operate flexibly according to the CFA of the image sensor 410. According to one embodiment, the measurement unit 430 may perform measurement according to the CFA pattern of the image sensor 410. For example, when generating a luminance image for calculating a histogram, the measurement unit 430 may change a coefficient for combining each input color channel into luminance. According to one embodiment, the measurement unit 430 may perform measurement for each channel and perform measurement according to the changed CFA when the CFA of the image sensor 410 is changed. According to one embodiment, the measurement unit 430 may determine the movement of the image through at least one frame (eg, 1 frame or N frames) from the image sensor 410.
일 실시예에 따라, ISP(320)(예: AI 프론트엔드(front end))는 로우 데이터와 계측 데이터에 기반하여, 디모자익(demosaic), 음영 보정, 색감 보정, 노이즈 제거, 및 선명도 조정과 같은 영상 처리를 수행할 수 있다. 일 실시예에 따르면, ISP(320)는 카메라 모듈(180)에서 촬영된 로우 데이터를 인공지능 방식(예: 인공 신경망(예: UNET, ANN(artificial neural network), DNN(deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), AE(autoencoder), 및/또는 GAN(generative adversarial network))과 같은 AI 네트워크 구조)으로 풀 컬러(full color)로 변환하는 AI 프론트엔드(front end) 역할을 할 수 있다. 일 실시예에 따르면, ISP(320)는 정렬부(440), 전처리부(450), AI 네트워크(460), 및 후처리부(470)를 포함할 수 있다.According to one embodiment, the ISP 320 (e.g., an AI front end) performs demosaic, shadow correction, color correction, noise removal, and sharpness adjustment based on raw data and measurement data. The same image processing can be performed. According to one embodiment, the ISP 320 uses raw data captured by the camera module 180 using an artificial intelligence method (e.g., artificial neural network (e.g., UNET, artificial neural network (ANN), deep neural network (DNN), CNN) (AI network structures such as convolutional neural network, RNN (recurrent neural network), AE (autoencoder), and/or GAN (generative adversarial network)) to full color conversion (AI front end) ) can play a role. According to one embodiment, the ISP 320 may include an alignment unit 440, a pre-processing unit 450, an AI network 460, and a post-processing unit 470.
일 실시예에 따라, 정렬부(440)는 계측부(430)로부터 영상 움직임 및/또는 밝기와 같은 계측 데이터를 획득하고, 획득된 계측 데이터를 이용하여, 영상의 N-1 프레임(frame)을 N 프레임에 맞도록 모션 보정을 수행할 수 있다. 일 실시예에서, N-1 프레임과 N 프레임은 이미지 센서(410)로부터 순차적으로 출력되는 로우 데이터(예: CFA 데이터(또는 프레임))를 나타낼 수 있다. 예를 들어, N 프레임은 현재 출력되는 프레임을 나타내고, N-1 프레임은은 한 프레임(예: N 프레임)의 이전 프레임을 나타낼 수 있다. 일 실시예에 따른 정렬부(440)의 동작과 관련하여 도 5에 예시된다. According to one embodiment, the alignment unit 440 acquires measurement data such as image movement and/or brightness from the measurement unit 430, and uses the obtained measurement data to divide N-1 frames of the image into N Motion compensation can be performed to fit the frame. In one embodiment, the N-1 frame and N frame may represent raw data (eg, CFA data (or frame)) sequentially output from the image sensor 410. For example, N frame may represent the currently output frame, and N-1 frame may represent the previous frame of one frame (e.g., N frame). The operation of the alignment unit 440 according to one embodiment is illustrated in FIG. 5 .
도 5를 참조하면, 일 실시예에 따른 정렬부(440)는 계측부(430)로부터 계측 데이터(예: 모션 데이터)를 수신하여, N-1 프레임(510)을 N 프레임(520)에 맞도록 모션 보정을 수행할 수 있다. 일 실시예에서, N-1 프레임(510)은 모션이 있는 경우의 예를 나타낼 수 있고, N 프레임(520)은 모션이 없는 경우의 예를 나타낼 수 있다. 예를 들어, 각 프레임 별 모션은 카메라 모듈(180)에서 영상 판독에 따른 시차(또는 판독 속도의 시차) 및 이미지 센서(410) 특성(예: 롤링(rolling) 셔터 방식의 이미지 센서)으로 인한 왜곡(예: image distortion)이 발생할 수 있다. 일 실시예에 따르면, 정렬부(440)는 왜곡에 대한 모션 보상을 위해 N-1 프레임(510)을 N 프레임(520)과 정합되도록, N-1 프레임(510)에 대해 연산(예: Warping 연산)을 수행할 수 있다. Referring to FIG. 5, the alignment unit 440 according to one embodiment receives measurement data (e.g., motion data) from the measurement unit 430 and aligns the N-1 frame 510 with the N frame 520. Motion compensation can be performed. In one embodiment, N-1 frames 510 may represent an example where there is motion, and N frames 520 may represent an example where there is no motion. For example, the motion for each frame is distorted due to parallax (or parallax in reading speed) due to image reading in the camera module 180 and characteristics of the image sensor 410 (e.g., rolling shutter type image sensor). (e.g. image distortion) may occur. According to one embodiment, the alignment unit 440 performs an operation (e.g., warping) on the N-1 frame 510 to match the N-1 frame 510 with the N frame 520 for motion compensation for distortion. operation) can be performed.
일 실시예에 따르면, 정렬부(440)는 적어도 하나의 영상(예: 1 장 또는 여러 장의 프레임)을 한 번에 입력 받을 수 있도록 영상 간 모션을 측정 및 보상하여 정합할 수 있다. 예를 들어, 정렬부(440)는 여러 장의 영상을 정합하여 AI 네트워크(460)에 제공하여, AI 네트워크(460)에서 디모자익 시에 영상의 해상력을 높이고 노이즈를 줄일 수 있도록 지원할 수 있다. 일 실시예에 따르면, 계측부(430)에서는 정렬부(440)에서 여러 장의 영상을 정합할 수 있도록, 영상의 움직임을 매 프레임 마다 계측하여 정렬부(440)에 제공할 수 있다. According to one embodiment, the alignment unit 440 may measure and compensate for motion between images and match them so that at least one image (eg, one or multiple frames) can be input at a time. For example, the alignment unit 440 can match multiple images and provide them to the AI network 460, thereby helping the AI network 460 increase image resolution and reduce noise during demosaicing. According to one embodiment, the measurement unit 430 may measure the movement of the image for each frame and provide the measurement to the alignment unit 440 so that the alignment unit 440 can match multiple images.
일 실시예에 따라, 전처리부(450)는 로우 데이터의 픽셀(pixel) 별로 다른 사칙 연산을 이용하여 연산한 후 AI 네트워크(460)로 전송할 수 있다. 일 실시예에 따르면, 전처리부(450)는 AI 네트워크(460)의 전단에 위치하며, 기존 ISP(320)에서 진행하던 전처리(preprocessing) 동작을 AI 네트워크(460)에 맞는 형태로 최적화할 수 있다. 일 실시예에 따른 전처리부(450)의 동작과 관련하여 도 6에 예시된다.According to one embodiment, the preprocessor 450 may calculate the raw data using different arithmetic operations for each pixel and then transmit it to the AI network 460. According to one embodiment, the preprocessing unit 450 is located at the front of the AI network 460, and can optimize the preprocessing operation performed in the existing ISP 320 into a form suitable for the AI network 460. . The operation of the preprocessor 450 according to one embodiment is illustrated in FIG. 6.
도 6을 참조하면, 전처리부(450)는 N 프레임(520)과 N-1 프레임(510)에 대해 픽셀 별 사칙 연산으로 이루어진 연산을 수행할 수 있다. 일 실시예에 따르면, 전처리부(450)는, 예를 들어, Pedestal(610), WB(white balance)(620), LSC(lens shading correction)(630), 및 Gamma(640)에 기반한 사칙 연산을 수행할 수 있다. 일 실시예에 따르면, 전처리부(450)는 AI 네트워크(460)로 적어도 2개 이상의 프레임(예: N-1 프레임(510) 및 N 프레임(520))이 순차적으로 입력할 수 있다. 일 실시예에 따르면, AI 네트워크(460)는 적어도 2개 이상의 프레임이 순차적으로 입력될 경우 각 픽셀의 순서를 조합(re ordering)하여, 톤 보정을 수행할 수 있다. 예를 들어, AI 네트워크(460)는 순차적으로 입력되는 적어도 2개 이상의 프레임에 대해 글로벌 톤 보정(GTM, global tone mapping)(650) 및 로컬 톤 보정(LTM, local tone mapping)(660)을 통해 화질 이득을 획득하도록 할 수 있다.Referring to FIG. 6, the preprocessor 450 may perform an operation consisting of arithmetic operations for each pixel on the N frame 520 and the N-1 frame 510. According to one embodiment, the preprocessor 450 performs four arithmetic operations based on, for example, Pedestal (610), white balance (WB) 620, lens shading correction (LSC) 630, and Gamma (640). can be performed. According to one embodiment, the preprocessor 450 may sequentially input at least two frames (e.g., N-1 frame 510 and N frame 520) to the AI network 460. According to one embodiment, the AI network 460 may perform tone correction by reordering the order of each pixel when at least two or more frames are sequentially input. For example, the AI network 460 performs global tone correction (GTM, global tone mapping) 650 and local tone correction (LTM, local tone mapping) 660 for at least two sequentially input frames. It is possible to obtain image quality gains.
일 실시예에 따르면, 전처리부(450)는 휘도 영상을 위한 색 채널 별 계수를 조정할 수 있다. 일 실시예에 따라, 휘도 영상을 생성하기 위한 계수(Y)는 아래 <수식 1>의 예시와 같이 나타낼 수 있다.According to one embodiment, the preprocessor 450 may adjust coefficients for each color channel for the luminance image. According to one embodiment, the coefficient (Y) for generating a luminance image can be expressed as an example in <Equation 1> below.
<수식 1><Formula 1>
Y = (0.257 * R) + (0.504 * G) + (0.098 * B)Y = (0.257 * R) + (0.504 * G) + (0.098 * B)
일 실시예에서, <수식 1>은 휘도 영상을 생성하기 위한 계수를 구하는 예제를 나타내며, 이에 제한하는 것은 아니다.In one embodiment, <Equation 1> represents an example of calculating a coefficient for generating a luminance image, but is not limited thereto.
일 실시예에 따라, AI 네트워크(460)는 마이크로 프로세서(예: MPU, microprocessor unit)와 같은 AI 엑셀레이터를 포함할 수 있다. 일 실시예에 따르면, AI 네트워크(460)는 지정된 인공지능 알고리즘을 이용하여 이미지 센서(410)의 CFA 패턴을 풀 컬러(full color) 형태로 변환하는 디모자익(demosaic)을 수행할 수 있다. 일 실시예에 따라, AI 네트워크(460)는 지정된 인공지능 알고리즘에 기반하여, 로우 데이터에서 주변부 픽셀(예: 컬러가 채워진 픽셀)을 이용하여 화소의 빈 부분을 보간하여 메우는 동작을 수행할 수 있다. 일 실시예에 따르면, AI 네트워크(460)는 디모자익(예: 풀 컬러(full color)로 변환하는 기능)을 수행하면서, 대략적으로 동시에, 전처리부(450)로부터 입력되는 현재 동영상 출력(예: 로우 데이터의 해상도(예: 센서 출력 사이즈))에 맞게 영상의 출력 사이즈를 가변(예: 스케일링(scaling))하여 출력함으로써, 영상 출력 속도를 향상하고 및/또는 전력 소모를 최소화할 수 있다.According to one embodiment, the AI network 460 may include an AI accelerator such as a microprocessor (eg, MPU, microprocessor unit). According to one embodiment, the AI network 460 may perform demosaic to convert the CFA pattern of the image sensor 410 into full color form using a designated artificial intelligence algorithm. According to one embodiment, the AI network 460 may perform an operation of interpolating and filling empty parts of pixels using peripheral pixels (e.g., color-filled pixels) in raw data, based on a designated artificial intelligence algorithm. . According to one embodiment, the AI network 460 performs demosaicing (e.g., a function of converting to full color) and, at approximately the same time, outputs the current video input from the preprocessor 450 (e.g., a function of converting to full color). By changing the output size of the image (e.g., scaling) to match the resolution of the raw data (e.g., sensor output size), the image output speed can be improved and/or power consumption can be minimized.
일 실시예에 따르면, AI 네트워크(460)는 전처리부(450)에서 처리된 이미지 센서(410)의 로우 데이터(예: CFA 영상)에 기반하여 풀 컬러로 디모자익을 수행한 후 후처리부(470)로 전달할 수 있다. 일 실시예에 따른 AI 네트워크(460)는 AI로 학습된 파라미터(예: AI 파라미터)를 이용하여, 계측부(430)와 정렬부(440)에서 정합된 1 장의 영상 또는 N 장의 영상을 이용하여 한 장의 풀 컬러 영상을 출력할 수 있다. 일 실시예에서, 파라미터는 이미지 센서(410)의 CFA에 맞게(예: 센서 출력 사이즈 별로) 학습된 정보들을 포함할 수 있다. 예를 들어, AI 네트워크(460)는 센서 출력 사이즈의 변화(예: FHD와 UHD 간 모드 전환)가 발생한 경우, 네트워크 레이어 정보, 가중치 파라미터, 및/또는 바이어스 파라미터를 변경된 모드에 맞게 변경하여, 원하는 출력(예: 비디오 출력 사이즈)을 획득하도록 동작할 수 있다. 예를 들어, AI 네트워크(460)의 출력은 FHD 또는 UHD의 풀 컬러 영상을 나타낼 수 있다. 일 실시예에 따른 AI 네트워크(460)의 출력과 관련하여 도 7에 예시된다.According to one embodiment, the AI network 460 performs demosaicing in full color based on the raw data (e.g., CFA image) of the image sensor 410 processed in the pre-processor 450 and then performs demosaicing in the post-processor 470. ) can be transmitted. The AI network 460 according to one embodiment uses parameters learned through AI (e.g., AI parameters) and uses one image or N images matched in the measurement unit 430 and the alignment unit 440 to generate one image. Full color images can be output. In one embodiment, the parameters may include information learned according to the CFA of the image sensor 410 (eg, by sensor output size). For example, when a change in sensor output size (e.g., mode switching between FHD and UHD) occurs, the AI network 460 changes the network layer information, weight parameters, and/or bias parameters to match the changed mode, thereby changing the desired mode. May operate to obtain an output (e.g., video output size). For example, the output of AI network 460 may represent a full-color image in FHD or UHD. The output of AI network 460 according to one embodiment is illustrated in FIG. 7 .
도 7을 참조하면, AI 네트워크(460)의 풀 컬러 영상(701, 703, 또는 705)은 별도의 스케일링 과정 없이 현재 사용자가 설정한 비디오 해상도(예: HD, FHD, UHD, 또는 8K)에 맞추어 출력될 수 있다. 예를 들어, 엘리먼트 701은 4x4 센서의 출력에 대한 AI 네트워크(460)의 풀 컬러 영상의 예를 나타내고, 엘리먼트 703은 2x2 센서의 출력에 대한 AI 네트워크(460)의 풀 컬러 영상의 예를 나타내고, 엘리먼트 705는 Bayer 센서의 출력에 대한 AI 네트워크(460)의 풀 컬러 영상의 예를 나타낼 수 있다. 예를 들어, 12M 센서를 사용하는 카메라 모듈(180)에서 사용자가 FHD 해상도 녹화를 설정한 경우, AI 네트워크(460)의 출력(예: 비디오 출력 사이즈)은 3M의 풀 컬러 영상이 출력될 수 있다. 일 실시예에 따라, ISP(320)(예: AI 네트워크(460))의 출력 및 그 동작과 관련하여 후술하는 도면들을 참조하여 설명된다.Referring to FIG. 7, the full- color image 701, 703, or 705 of the AI network 460 is adjusted to the video resolution (e.g., HD, FHD, UHD, or 8K) currently set by the user without a separate scaling process. can be printed. For example, element 701 represents an example of a full-color image from AI network 460 for the output of a 4x4 sensor, and element 703 represents an example of a full-color image from AI network 460 for the output of a 2x2 sensor, Element 705 may represent an example of a full-color image from the AI network 460 for the output of a Bayer sensor. For example, if the user sets FHD resolution recording in the camera module 180 using a 12M sensor, the output (e.g. video output size) of the AI network 460 may be a 3M full color image. . According to one embodiment, the output of the ISP 320 (e.g., the AI network 460) and its operation are described with reference to the drawings described below.
일 실시예에 따라, 후처리부(470)는 AI 네트워크(460)의 출력(예: 디모자익 데이터 또는 풀 컬러 데이터)에 톤(tone) 보정을 수행할 수 있다. 예를 들어, 후처리부(470)는 영상의 색감을 조정할 수 있다. 일 실시예에 따르면, 후처리부(470)는 AI 네트워크(460)로부터 출력된 풀 컬러 영상을, 계측 데이터를 이용하여, 도 6에 예시한 바와 같이, GTM 및/또는 LTM과 같은 실시간 톤 보정을 수행할 수 있다. 일 실시예에 따르면, 계측부(430)에서 후처리부(470)의 톤 보정에 필요한 영상 히스토그램과 같은 톤 관련 데이터를 후처리부(470)에 제공할 수 있다.According to one embodiment, the post-processing unit 470 may perform tone correction on the output of the AI network 460 (e.g., demosaic data or full color data). For example, the post-processing unit 470 can adjust the color of the image. According to one embodiment, the post-processing unit 470 performs real-time tone correction, such as GTM and/or LTM, on the full color image output from the AI network 460 using measurement data, as illustrated in FIG. 6. It can be done. According to one embodiment, the measurement unit 430 may provide tone-related data such as an image histogram necessary for tone correction of the post-processing unit 470 to the post-processing unit 470.
일 실시예에 따라, 메모리(480)는 리시버부(420) 및/또는 후처리부(470)의 출력을 저장할 수 있다.According to one embodiment, the memory 480 may store the output of the receiver unit 420 and/or the post-processing unit 470.
본 개시의 일 실시예에 따라, 도 4에 예시된 ISP(320) 구조에 기반하여, 전자 장치(101)에서 동영상 촬영(예: 녹화) 시에 인공지능 기반의 영상을 처리하는 동작에 관하여 살펴본다. According to an embodiment of the present disclosure, based on the structure of the ISP 320 illustrated in FIG. 4, we will look at the operation of processing artificial intelligence-based images when capturing (e.g., recording) a video in the electronic device 101. see.
도 8은 본 개시의 일 실시예에 따른 이미지 시그널 프로세서의 출력의 일 예를 도시하는 도면이다.FIG. 8 is a diagram illustrating an example of the output of an image signal processor according to an embodiment of the present disclosure.
도 8을 참조하면, ISP(320)의 AI 네트워크(460)에서 출력하는 풀 컬러 영상은 사용자가 설정한 비디오 해상도(예: HD, FHD, UHD, 또는 8K) 및/또는 카메라 모듈(180)에서 상황 인식에 기반하여 자동 변경하는 AI 파라미터에 맞추어 출력될 수 있다. 일 실시예에 따르면, AI 네트워크(460)의 출력은 사용자의 비디오 해상도 설정 및/또는 AI 파라미터 변경에 따라 출력 크기가 변경될 수 있다. 예를 들어, AI 네트워크(460)는 동영상 촬영(예: 녹화) 시의 다양한 시나리오의 영상 크기에 따라 출력 영상을 스케일링(scaling)할 수 있다. 예를 들어, ISP(320)의 AI 네트워크(460)의 출력은 이미지 센서(410)의 CFA 형태나 렌즈에 의해 달라지는 센서 출력 사이즈에 대응하여 변경될 수 있다.Referring to FIG. 8, the full color image output from the AI network 460 of the ISP 320 is displayed at the video resolution (e.g. HD, FHD, UHD, or 8K) set by the user and/or at the camera module 180. It can be output according to AI parameters that automatically change based on situational awareness. According to one embodiment, the output size of the AI network 460 may change depending on the user's video resolution setting and/or AI parameter change. For example, the AI network 460 may scale the output image according to the image size of various scenarios when shooting (e.g., recording) a video. For example, the output of the AI network 460 of the ISP 320 may be changed in response to the CFA type of the image sensor 410 or the sensor output size that varies depending on the lens.
일 실시예에 따르면, AI 네트워크(460)는 계측부(430)의 계측 데이터(예: 노출값(EV, exposure value), 밝기값(BV, bright value), 및/또는 줌비율(zoom ratio))를 이용하여, 상황에 맞는 파라미터로 변경할 수 있다. 예를 들어, AI 네트워크(460)는 노출값(EV)이나 밝기값(BV)을 이용하여 영상이 촬영되는 조도를 구분하고, 구분된 조도의 상황에 적합하게 파라미터를 변경할 수 있다. 일 실시예에 따르면, AI 네트워크(460)는 낮은 노출값(EV)에 따라 저조도로 판단되면, 노이즈 저감이 큰 AI 파라미터를 사용할 수 있다. 일 실시예에 따르면, AI 네트워크(460)는 높은 노출값(EV)에 따라 야외로 판단되면 디테일을 강화하는 AI 파라미터로 자동 전환할 수 있다. 일 실시예에 따르면, AI 네트워크(460)는 상황에 맞는 AI 파라미터에 기반하여 디모자익을 처리하고, 대응하는 해상도(예: FHD, UHD, 또는 8K)(또는 비디오 출력 사이즈)의 영상을 출력할 수 있다. According to one embodiment, the AI network 460 measures measurement data (e.g., exposure value (EV), bright value (BV), and/or zoom ratio) of the measurement unit 430. Using this, you can change the parameters to suit the situation. For example, the AI network 460 can use exposure value (EV) or brightness value (BV) to distinguish the illuminance at which an image is captured, and change parameters to suit the situation of the classified illuminance. According to one embodiment, when the AI network 460 determines that the illumination is low according to a low exposure value (EV), it can use an AI parameter that reduces noise significantly. According to one embodiment, the AI network 460 can automatically switch to AI parameters that enhance details when it is determined to be outdoors based on a high exposure value (EV). According to one embodiment, the AI network 460 processes demosaic based on AI parameters appropriate for the situation and outputs an image with a corresponding resolution (e.g., FHD, UHD, or 8K) (or video output size). You can.
일 실시예에 따르면, ISP(320)의 AI 네트워크(460)는 입력 영상 크기에 상관 없이 출력의 크기가 선택된 동영상 촬영 시나리오(예: 설정)의 출력 사이즈에 맞는 크기로 디모자익과 스케일링을 한번에 처리할 수 있다. 예를 들어, AI 네트워크(460)는 FHD 설정의 경우 3M의 풀 컬러 영상 출력, UHD 설정의 경우 9M의 풀 컬러 영상을 출력하도록 인공지능 기반의 학습을 수행하고, 학습된 학습 데이터를 이용하여 동작할 수 있다. According to one embodiment, the AI network 460 of the ISP 320 processes demosaicing and scaling at once to a size that matches the output size of the selected video shooting scenario (e.g., setting) regardless of the input image size. can do. For example, the AI network 460 performs artificial intelligence-based learning to output 3M full-color images in the case of FHD settings and 9M full-color images in UHD settings, and operates using the learned training data. can do.
도 9는 본 개시의 일 실시예에 따른 이미지 시그널 프로세서의 네트워크 캐시의 일 예를 도시하는 도면이다.FIG. 9 is a diagram illustrating an example of a network cache of an image signal processor according to an embodiment of the present disclosure.
도 9를 참조하면, ISP(320)의 AI 네트워크(460)는 다양한 CFA 패턴의 센서(예: Bayer, 2x2, 3x3, 4x4, 또는 RGBW)에 따라 파라미터를 전환할 수 있다. 예를 들어, 근래에는 Bayer 타입의 패턴을 가진 센서 외에 다양한 패턴의 센서가 개발되고 있다. 일 실시예에 따르면, 일반적인 ISP에서는 다양한 패턴들 모두를 지원하기 어려울 수 있다. 본 개시의 일 실시예에 따른 ISP(320)는 AI 네트워크(460)를 이용한 인공지능 기반의 동작에 기반하여, 다양한 학습을 통해 다양한 센서 패턴에 유연하게 대처할 수 있다. 일 실시예에 따르면, AI 네트워크(460)는 다양한 종류의 파라미터를 빠르고 쉽게 전환하도록 이를 저장하는 자체 메모리(예: 네트워크 캐시(network cache)(900))를 포함할 수 있다. 일 실시예에서, 네트워크 캐시(900)는 AI 네트워크(460) 또는 ISP(320) 내부에 포함될 수 있다. Referring to FIG. 9, the AI network 460 of the ISP 320 can switch parameters according to sensors of various CFA patterns (e.g., Bayer, 2x2, 3x3, 4x4, or RGBW). For example, in recent years, sensors with various patterns in addition to sensors with Bayer-type patterns have been developed. According to one embodiment, it may be difficult for a general ISP to support all of the various patterns. The ISP 320 according to an embodiment of the present disclosure is based on artificial intelligence-based operation using the AI network 460 and can flexibly respond to various sensor patterns through various learning. According to one embodiment, the AI network 460 may include its own memory (e.g., network cache 900) that stores various types of parameters so that they can be quickly and easily switched. In one embodiment, network cache 900 may be included within AI network 460 or ISP 320.
일 실시예에 따르면, 네트워크 캐시(900)는 동영상 촬영(예: 녹화) 시에 자주 사용되는 파라미터를 미리 캐싱(caching)할 수 있다. 예를 들어, AI 네트워크(460)는 제1 파라미터(예: 저조도 용 파라미터)와 제2 파라미터(예: 야외 용 파라미터)를 모두 네트워크 캐시(900)에 로드 한 후, 계측 데이터에 따라 빠른 속도로 AI 네트워크(460)에 공급하도록 할 수 있다. 일 실시예에 따르면, AI 네트워크(460)는 (A) 예시와 같이 비디오 해상도(예: FHD, UHD, 및 8K), (B) 예시와 같이 영상 상태(image condition)(또는 3A stats)(예: outdoor, indoor, 및 lowlight), 및/또는 (C) 예시와 같이 CFA 패턴(예: Bayer, 2x2, 3x3, 및 4x4)에 대응하는 다양한 파라미터를 네트워크 캐시(900)에 캐시할 수 있고, 동영상 촬영 시에 계측 데이터에 대응하는 파라미터로 빠르게 전환할 수 있다.According to one embodiment, the network cache 900 may previously cache parameters frequently used when shooting (eg, recording) a video. For example, the AI network 460 loads both first parameters (e.g., parameters for low light) and second parameters (e.g., parameters for outdoor use) into the network cache 900 and then loads them at a high speed according to the measurement data. It can be supplied to the AI network 460. According to one embodiment, the AI network 460 determines (A) video resolution (e.g., FHD, UHD, and 8K) as in the example, (B) image condition (or 3A stats) (e.g., as in the example) : outdoor, indoor, and lowlight), and/or (C) As an example, various parameters corresponding to CFA patterns (e.g., Bayer, 2x2, 3x3, and 4x4) can be cached in the network cache 900, and video When shooting, you can quickly switch to parameters corresponding to measurement data.
도 10은 본 개시의 일 실시예에 따른 이미지 시그널 프로세서의 연산 동작의 일 예를 도시하는 도면이다.FIG. 10 is a diagram illustrating an example of an operation of an image signal processor according to an embodiment of the present disclosure.
일 실시예에 따르면, 도 10은 동영상 촬영(예: 녹화) 시에, 디지털 줌(digital zoom) 시의 AI 네트워크(460)의 연산 영역에 대한 예를 나타낼 수 있다.According to one embodiment, FIG. 10 may show an example of the computational area of the AI network 460 during digital zoom when shooting (eg, recording) a video.
일 실시예에 따르면, 일반적으로 동영상 촬영(예: 녹화) 시 VDIS(video digital image stabilizer)나 SAT(scene aligned transform)와 같은 기능을 동반할 수 있다. 일 실시예에서, VDIS는 카메라 모듈(180)의 흔들림에 따라 영상의 크롭(crop) 영역을 변경하여 흔들림을 줄여주는 방식을 나타낼 수 있다. 일 실시예에서, SAT는 서로 다른 화각의 카메라 모듈(180) 간 전환 시 영상의 크롭 영역을 변경하여 이질감 없이 전환하는 방식을 나타낼 수 있다. 일 실시예에 따르면, VDIS 방식 및 SAT 방식은 모두 영상을 크롭하는 공통점이 있으며, 이를 위해서 AI 네트워크(460)의 출력은 기본 비디오 출력 해상도(예: Output Image Size(1010))에 영상 마진(image margin)(1020)을 포함한 영역(예: Image Margin Area(1030))을 연산할 수 있다. 일 실시예에 따르면, AI 네트워크(460)의 출력 영상의 크기는 카메라 모듈(480)의 VDIS와 SAT의 마진(margin)을 고려한 사이즈로 결정되어 출력될 수 있다. 예를 들어, FHD 2M + 50% 마진 = 3M의 같이 마진을 고려한 사이즈로 출력할 수 있다. 일 실시예에 따라, 영상 마진(1020)을 포함하는 영역(1030)에 기반하여 연산된 출력의 일 예가 도 11a 내지 도 11c에 도시된다.According to one embodiment, in general, when shooting (eg, recording) a video, functions such as VDIS (video digital image stabilizer) or SAT (scene aligned transform) may be included. In one embodiment, VDIS may represent a method of reducing shaking by changing the crop area of the image according to the shaking of the camera module 180. In one embodiment, SAT may represent a method of switching without a sense of heterogeneity by changing the crop area of the image when switching between camera modules 180 of different angles of view. According to one embodiment, both the VDIS method and the SAT method have something in common in cropping the image, and for this purpose, the output of the AI network 460 is an image margin (image) in the basic video output resolution (e.g., Output Image Size (1010)). The area including margin) (1020) (e.g., Image Margin Area (1030)) can be calculated. According to one embodiment, the size of the output image of the AI network 460 may be determined and output in consideration of the margins of the VDIS and SAT of the camera module 480. For example, it can be output in a size that takes the margin into consideration, such as FHD 2M + 50% margin = 3M. According to one embodiment, an example of output calculated based on the area 1030 including the image margin 1020 is shown in FIGS. 11A to 11C.
도 11a, 도 11b 및 도 11c는 본 개시의 일 실시예에 따른 이미지 시그널 프로세서에서 스케일링 동작의 일 예를 도시하는 도면들이다. FIGS. 11A, 11B, and 11C are diagrams illustrating an example of a scaling operation in an image signal processor according to an embodiment of the present disclosure.
일 실시예에 따르면, 도 11a, 도 11b 및 도 11c는 AI 네트워크(460)의 디코딩(예: pool) 및 인코딩(예: up convolution) 과정에서 스케일링(scaling) 동작의 일 예를 나타낼 수 있다. 일 실시예에 따르면, AI 네트워크(460)는 파라미터 조절에 기반하여 현재 촬영 환경(또는 상황)에 맞는 해상도(예: 8K, UHD, FHD)로 출력 영상(1103, 1105, 1107)을 변화시켜 출력할 수 있다. 일 실시예에 따르면, AI 네트워크(460)는 AI 파라미터 변경에 기반하여 영상의 사이즈를 조정할 수 있고, 사용자 시나리오에 따라 그 출력 사이즈를 결정할 수 있다. According to one embodiment, FIGS. 11A, 11B, and 11C may represent an example of a scaling operation in the decoding (eg, pool) and encoding (eg, up convolution) process of the AI network 460. According to one embodiment, the AI network 460 changes the output images 1103, 1105, and 1107 to a resolution (e.g., 8K, UHD, FHD) suitable for the current shooting environment (or situation) based on parameter adjustment. can do. According to one embodiment, the AI network 460 can adjust the size of the image based on AI parameter changes and determine the output size according to the user scenario.
일 실시예에 따르면, AI 네트워크(460)는 오토인코더(AE, autoencoder)와 같은 인코더-디코더(encoder-decoder) 기반 모델(예: UNET)에 기반하여 출력 영상의 사이즈를 조정할 수 있다. 일 실시예에 따르면, AI 네트워크(460)는 디코딩 부분(예: 인코더(1110))과 인코딩 부분(예: 디코더(1120))으로 구분되는 네트워크 구조를 가질 수 있다. 예를 들어, AI 네트워크(460)는 인코더(1110)(또는 축소 경로(contracting path))와 디코더(1120)(또는 확장 경로(expending path)) 구조를 가지며, 서로 대칭적일 수 있다. According to one embodiment, the AI network 460 may adjust the size of the output image based on an encoder-decoder based model (e.g., UNET) such as an autoencoder (AE). According to one embodiment, the AI network 460 may have a network structure divided into a decoding part (eg, encoder 1110) and an encoding part (eg, decoder 1120). For example, the AI network 460 has an encoder 1110 (or contracting path) and decoder 1120 (or expanding path) structures, and may be symmetrical to each other.
일 실시예에 따르면, AI 네트워크(460)는 인코딩 단계의 각 레이어(layer)에서 획득된 특징을 디코딩 단계의 각 레이어에 합치는(concatenation) 동작을 수행할 수 있다. 일 실시예에서, 인코더(1110)의 각 레이어와 디코더(1120)의 각 레이어의 직접 연결을 스킵 연결(skip connection)이라 할 수 있다. 일 실시예에 따르면, AI 네트워크(460)는 도 11a, 도 11b 및 도 11c에 예시한 바와 같이, 신경망 구조를 스킵 연결을 평행하게 두고 가운데를 기준으로 좌우가 대칭이 되도록 레이어를 배치하여, 예를 들면, U자 형의 신경망 구조를 포함할 수 있다.According to one embodiment, the AI network 460 may perform an operation of concatenating features obtained from each layer of the encoding step to each layer of the decoding step. In one embodiment, the direct connection between each layer of the encoder 1110 and each layer of the decoder 1120 may be referred to as a skip connection. According to one embodiment, the AI network 460 arranges the layers so that the neural network structure has skip connections in parallel and the left and right sides are symmetrical with respect to the center, as illustrated in FIGS. 11A, 11B, and 11C, e.g. For example, it may include a U-shaped neural network structure.
일 실시예에 따라, 인코더(1110)와 디코더(1120)를 연결하는 부분을 브릿지(bridge)(1130)라 한다. 예를 들어, 도 11a, 도 11b 및 도 11c에서 U자 형의 구조에서 맨 아래 부분이 브릿지(1130)를 나타낼 수 있다. 일 실시예에 따라, 도 11a, 도 11b 및 도 11c에서 직사각 박스는 레이어 블록(1140)을 나타낼 수 있다.According to one embodiment, the part connecting the encoder 1110 and the decoder 1120 is called a bridge 1130. For example, in FIGS. 11A, 11B, and 11C, the bottom portion of the U-shaped structure may represent a bridge 1130. According to one embodiment, a rectangular box in FIGS. 11A, 11B, and 11C may represent a layer block 1140.
일 실시예에 따르면, 도 11a, 도 11b 및 도 11c의 인코더(1110) 및 디코더(1120)의 구조에서 레이어 블록(1140)의 세로 방향은 맵(map)의 차원을 나타내고, 레이어 블록(1140)의 가로 방향은 채널 수를 나타낼 수 있다. 예를 들어, 세로 방향이 256x256이고 가로 방향이 128인 경우, 해당 레이어의 영상이 256x256x128의 크기를 가지는 것을 나타낼 수 있다. 예를 들어, 입력 영상이 512x512x3인 경우, RGB 3개 채널을 갖고 크기가 512x512x3인 영상을 나타낼 수 있다. According to one embodiment, in the structure of the encoder 1110 and decoder 1120 of FIGS. 11A, 11B, and 11C, the vertical direction of the layer block 1140 represents the dimension of the map, and the layer block 1140 The horizontal direction of can indicate the number of channels. For example, if the vertical direction is 256x256 and the horizontal direction is 128, this may indicate that the image of the corresponding layer has a size of 256x256x128. For example, if the input image is 512x512x3, an image with 3 RGB channels and a size of 512x512x3 can be displayed.
일 실시예에 따르면, 인코더(1110)는 각 레이어마다 다운 스케일링(down scaling)(또는 다운 샘플링(down sampling))하여 인코더(1110)의 다음 단계(예: 아래 화살표 방향)로 진행할 수 있다.According to one embodiment, the encoder 1110 may down-scale (or down-sample) each layer and proceed to the next step of the encoder 1110 (e.g., in the direction of the arrow below).
일 실시예에 따르면, 디코더(1120)는 각 레이어마다 업 컨볼루션(up convolution)하여 디코더(1120)의 다음 단계(예: 위 화살표 방향)로 진행할 수 있다.According to one embodiment, the decoder 1120 may perform up convolution for each layer and proceed to the next step of the decoder 1120 (eg, in the direction of the arrow above).
일 실시예에 따르면, 디코더(1120)의 구조에서, 도 11a, 도 11b 및 도 11c에서, 각 레이어 별로 도시된 우측 부분은, AI 네트워크(460)의 출력 영상(1103, 1105, 1107)의 예를 나타낼 수 있다. 예를 들어, AI 네트워크(460)는 각 레이어에서 출력 영상(1103, 1105, 1107)을 제공할 수 있다.According to one embodiment, in the structure of the decoder 1120, the right portion shown for each layer in FIGS. 11A, 11B, and 11C is an example of the output images 1103, 1105, and 1107 of the AI network 460. can represent. For example, the AI network 460 may provide output images 1103, 1105, and 1107 from each layer.
일 실시예에 따르면, 인코더(1110) 및 디코더(1120)의 인코딩 중간의 영상(예: 레이어 블록(1140))과 디코딩 중간의 영상(예: 레이어 블록(1140))은 영상으로써 의미는 없을 수 있다. 하지만, 중간의 영상들은 출력 영상의 디테일 및/또는 해상력에 관한 중요 정보를 포함할 수 있다. 예를 들어, AI 네트워크(460)에서 입력단(예: 도 11a에서 인코더(1110)의 최상위 레이어 블록)과 출력단(예: 도 11a에서 디코더(1120)의 최상위 레이어 블록)에 가까울수록 영상(예: 레이블 블록)의 크기가 크고 정보를 많이 포함할 수 있지만, 영상 처리에 따른 전류 소비가 많고 연산량이 증가할 수 있다. 따라서, 도 11b 또는 도 11c의 예시와 같이 디코더(1120)의 출력단의 레이어를 한 단계만 제거하더라도 전류 소비나 연산 시간 측면에서 큰 효과를 가질 수 있으며, 최소한의 해상력 감소로 영상이 리사이즈되는 효과를 얻을 수 있다. According to one embodiment, the image in the middle of encoding (e.g., layer block 1140) and the image in the middle of decoding (e.g., layer block 1140) of the encoder 1110 and decoder 1120 may not be meaningful as images. there is. However, the intermediate images may contain important information regarding the detail and/or resolution of the output image. For example, in the AI network 460, the closer it is to the input end (e.g., the top layer block of the encoder 1110 in FIG. 11A) and the output end (e.g., the top layer block of the decoder 1120 in FIG. 11A), the better the image (e.g., Although the size of the label block is large and can contain a lot of information, current consumption due to image processing is high and the amount of computation can increase. Therefore, as in the example of Figure 11b or Figure 11c, even if only one layer of the output stage of the decoder 1120 is removed, it can have a significant effect in terms of current consumption and computation time, and the effect of resizing the image with a minimum reduction in resolution can be achieved. You can get it.
본 개시의 일 실시예에 따른 AI 네트워크(460)에서는 각 레이어 별로 영상을 출력할 수 있는 출력 단자(예: 레이어 별 영상 출력 지원)를 가질 수 있으며, 사용자의 비디오 해상도 설정, 및/또는 카메라 모듈(180)에서 계측된 상황에 따라 그 출력 위치(예: 레이어)를 적응적으로 변경할 수 있다. 예를 들어, AI 네트워크(460)는 입력 영상(예: 이미지 센서(410)의 CFA(1101))에 관련된 파라미터에 기반하여 도 11a의 제1 레이어, 도 11b의 제2 레이어 또는 도 11c의 제3 레이어에서 해당 영상(예: 8K 영상(1103), FHD 영상(1105), 또는 UHD 영상(1107))을 출력하도록 할 수 있다. The AI network 460 according to an embodiment of the present disclosure may have an output terminal capable of outputting an image for each layer (e.g., supporting image output for each layer), the user's video resolution setting, and/or a camera module. The output location (e.g. layer) can be adaptively changed according to the situation measured in (180). For example, the AI network 460 may use the first layer in FIG. 11A, the second layer in FIG. 11B, or the second layer in FIG. 11C based on parameters related to the input image (e.g., the CFA 1101 of the image sensor 410). The corresponding video (e.g., 8K video (1103), FHD video (1105), or UHD video (1107)) can be output in three layers.
일 실시예에 따르면, AI 네트워크(460)는 학습 시에도 입/출력 사이즈를 다르게 하여 학습할 수 있으며, 학습 시에는 복잡한 리사이즈 알고리즘을 이용하여 리사이즈된 레퍼런스(reference) 파일을 생성하여 학습함으로써, AI 네트워크(460)의 해상력을 개선하고, 연산 효율화 및 영상 다운 스케일링을 한번에 수행할 수 있다. According to one embodiment, the AI network 460 can learn with different input/output sizes even during learning, and by generating and learning a resized reference file using a complex resizing algorithm, AI The resolution of the network 460 can be improved, and computational efficiency and image downscaling can be performed all at once.
본 개시의 일 실시예에 따르면, 고정된 하나의 네트워크(예: AI 네트워크(460))의 파라미터 변경으로 풀 컬러 영상을 생성하는 것과 동시에 리사이즈를 수행하여, 전류 소모 및 연산량을 낮출 수 있다. 본 개시의 일 실시예에 따르면, AI 연산으로 인한 화질을 극대화하면서, 연산량을 줄여 전력 소모를 최소화하여 복잡도가 높은 동영상 촬영(예: 녹화)에서도 AI 네트워크(460)의 사용이 가능하도록 할 수 있다. According to an embodiment of the present disclosure, a full-color image can be generated by changing the parameters of one fixed network (e.g., AI network 460) and resizing can be performed at the same time, thereby reducing current consumption and computation amount. According to an embodiment of the present disclosure, the AI network 460 can be used even in high-complexity video shooting (e.g., recording) by maximizing image quality due to AI computation and minimizing power consumption by reducing the amount of computation. .
일 실시예에 따르면, AI 네트워크(460)는 학습된 학습 데이터에 기반하여, 디모자익을 수행하면서 스케일링을 동시에 진행하여, 화질 성능을 유지한 상태에서 복잡도를 낮추고, 그로 인한 전류 소모를 절감할 수 있다. 일 실시예에 따르면, AI 네트워크(460)에 기반하여 동영상에 대한 연산을 수행함에 따라, 동영상을 연산하는 ISP(320)의 연산에서 스케일링을 추가로 할 필요가 없으므로 연산의 단계를 단순화할 수 있다.According to one embodiment, the AI network 460 performs demosaicing and scaling at the same time based on learned training data, thereby reducing complexity while maintaining image quality performance and reducing current consumption. there is. According to one embodiment, as the computation on the video is performed based on the AI network 460, there is no need for additional scaling in the computation of the ISP 320 that calculates the video, so the computation steps can be simplified. .
일 실시예에 따르면, ISP(320)는 AI 네트워크(460)의 학습을 통해서 다양한 이미지 센서(410)의 다양한 CFA 패턴(예: Bayer, 2x2, 4x4, RGBW, 및/또는 CMYK)을 하드웨어의 변경 없이 지원할 수 있다. According to one embodiment, the ISP 320 changes the hardware of various CFA patterns (e.g., Bayer, 2x2, 4x4, RGBW, and/or CMYK) of various image sensors 410 through learning of the AI network 460. You can apply without it.
본 개시의 일 실시예에 따른 전자 장치(101)는, 디스플레이(예: 도 1 또는 도 3의 디스플레이 모듈(160)), 카메라(예: 도 1 내지 도 3의 카메라 모듈(180)), 상기 디스플레이 및 상기 카메라와 작동적으로 연결된 프로세서(예: 도 1 또는 도 3의 프로세서(120)), 및 상기 프로세서에 포함된 이미지 시그널 프로세서(ISP, image signal processor)(예: 도 3 또는 도 4의 ISP(320))를 포함할 수 있다. The electronic device 101 according to an embodiment of the present disclosure includes a display (e.g., the display module 160 of FIGS. 1 or 3), a camera (e.g., the camera module 180 of FIGS. 1 to 3), and the A processor operatively connected to a display and the camera (e.g., the processor 120 of FIG. 1 or 3), and an image signal processor (ISP) included in the processor (e.g., the processor 120 of FIG. 3 or 4) It may include an ISP (320).
일 실시예에 따르면, 상기 이미지 시그널 프로세서(320)는, 사용자에 의해 동영상 촬영을 수행하는 동안, 상기 카메라를 통해 센서의 센서 출력 사이즈에 대응하는 입력 데이터(예: 로우 데이터(raw data))를 수신하도록 동작할 수 있다. 일 실시예에 따르면, 상기 이미지 시그널 프로세서(320)는, 상기 동영상이 촬영되는 설정 또는 설정 변경에 대응하는 파라미터를 결정하도록 동작할 수 있다. 일 실시예에 따르면, 상기 이미지 시그널 프로세서(320)는, 상기 파라미터에 기반하여 상기 입력 데이터를 풀 컬러(full color) 영상으로 변환 및 상기 풀 컬러 영상의 출력 크기를 비디오 출력 사이즈에 맞게 가변하는 영상 처리를 수행하도록 동작할 수 있다. 일 실시예에 따르면, 상기 이미지 시그널 프로세서(320)는, 영상 처리에 따른 영상 데이터를 출력하도록 동작할 수 있다.According to one embodiment, the image signal processor 320 receives input data (e.g., raw data) corresponding to the sensor output size of the sensor through the camera while the user performs video shooting. It can operate to receive. According to one embodiment, the image signal processor 320 may operate to determine parameters corresponding to settings or settings changes in which the video is captured. According to one embodiment, the image signal processor 320 converts the input data into a full color image based on the parameters and changes the output size of the full color image to suit the video output size. Operates to perform processing. According to one embodiment, the image signal processor 320 may operate to output image data according to image processing.
일 실시예에 따르면, 상기 카메라(180)는, 상기 카메라의 렌즈를 통해 상기 입력 데이터를 수신하도록 설정된 이미지 센서(예: 도 4의 이미지 센서(410)), 및 상기 이미지 센서로부터 상기 입력 데이터를 수신하고, 수신된 입력 데이터에 기반하여 계측 데이터를 추출하도록 설정된 계측부(예: 도 4의 계측부(430))를 포함할 수 있다. According to one embodiment, the camera 180 has an image sensor (e.g., image sensor 410 in FIG. 4) set to receive the input data through the lens of the camera, and receives the input data from the image sensor. It may include a measurement unit (eg, the measurement unit 430 in FIG. 4) configured to receive and extract measurement data based on the received input data.
일 실시예에 따르면, 상기 계측부(430)는, 상기 이미지 센서의 CFA(color filter array) 패턴에 따라 계측을 수행하고, 상기 이미지 센서로부터 적어도 한 장의 프레임을 통해 영상의 움직임을 판단하도록 동작할 수 있다.According to one embodiment, the measurement unit 430 may operate to perform measurement according to a CFA (color filter array) pattern of the image sensor and determine the movement of the image through at least one frame from the image sensor. there is.
일 실시예에 따르면, 상기 이미지 시그널 프로세서(320)는, 상기 이미지 센서의 입력 데이터와 상기 계측부의 계측 데이터를 정합하도록 설정된 정렬부(예: 도 4의 정렬부(440)), 상기 입력 데이터의 픽셀 별 사칙 연산을 처리하는 전처리부(예: 도 4의 전처리부(450), 상기 동영상 촬영을 수행하는 동안 인공지능(AI, artificial intelligence) 기반으로 상기 입력 데이터를 상기 풀 컬러 영상으로 변환 및 상기 비디오 출력 사이즈에 대응하게 스케일링(예: 출력 크기 가변)을 처리하는 AI 네트워크(예: 도 4의 AI 네트워크(460)), 및 상기 AI 네트워크로부터 출력되는 풀 컬러 영상을, 상기 계측 데이터를 이용하여 실시간 톤 보정(tone mapping)을 수행하는 후처리부(예: 도 4의 후처리부(470))를 포함할 수 있다.According to one embodiment, the image signal processor 320 includes an alignment unit (e.g., alignment unit 440 in FIG. 4) set to match input data from the image sensor and measurement data from the measurement unit, and an alignment unit 440 of FIG. 4 of the input data. A preprocessor (e.g., the preprocessor 450 in FIG. 4) that processes arithmetic operations for each pixel, converts the input data into the full color image based on artificial intelligence (AI) while shooting the video, and An AI network (e.g., AI network 460 in FIG. 4) that processes scaling (e.g., variable output size) corresponding to the video output size, and a full-color image output from the AI network using the measurement data. It may include a post-processing unit (e.g., the post-processing unit 470 of FIG. 4) that performs real-time tone correction (tone mapping).
일 실시예에 따르면, 상기 이미지 시그널 프로세서(320)는, 상기 동영상 촬영을 수행하는 동안, 동영상 촬영에 현재 설정된 비디오 모드 또는 동영상 촬영 동안 설정된 비디오 모드의 변경을 감지하고, 감지하는 결과에 대응하여 AI 네트워크에서 학습된 파라미터를 결정하도록 동작할 수 있다.According to one embodiment, while performing the video capture, the image signal processor 320 detects a change in the video mode currently set for video capture or a video mode set during video capture, and uses AI in response to the detected result. The network may operate to determine learned parameters.
일 실시예에 따르면, 상기 이미지 시그널 프로세서(320)는, 상기 동영상 촬영을 수행하는 동안, 상기 카메라에 의해 자동 변경되는 비디오 모드를 감지하고, 감지하는 결과에 대응하여 AI 네트워크에서 학습된 파라미터를 결정하도록 동작할 수 있다.According to one embodiment, the image signal processor 320 detects a video mode automatically changed by the camera while performing the video shooting, and determines parameters learned from the AI network in response to the detected result. It can operate to do so.
일 실시예에 따르면, 상기 이미지 시그널 프로세서(320)는, 이미지 센서의 CFA 패턴, 렌즈 특성, 계측부의 계측 데이터, 센서 출력 사이즈, 및/또는 비디오 출력 사이즈 중 적어도 하나의 요소에 기반하여 파라미터를 결정하도록 동작할 수 있다.According to one embodiment, the image signal processor 320 determines the parameter based on at least one element of the CFA pattern of the image sensor, lens characteristics, measurement data of the measurement unit, sensor output size, and/or video output size. It can operate to do so.
일 실시예에 따르면, 상기 파라미터는 실시간으로 변경 가능하다.According to one embodiment, the parameters can be changed in real time.
일 실시예에 따르면, 상기 이미지 시그널 프로세서(320)는, 상기 설정 또는 상기 설정 변경에 대응하여 AI 네트워크를 위한 파라미터를 입출력 크기가 다른 파라미터로 실시간으로 변경하도록 동작할 수 있다.According to one embodiment, the image signal processor 320 may operate to change parameters for the AI network to parameters with different input/output sizes in real time in response to the settings or changes to the settings.
일 실시예에 따르면, 상기 이미지 시그널 프로세서(320)는, AI 네트워크를 통해 결정된 파라미터에 기반하여, 상기 입력 데이터를 풀 컬러 영상으로 변환하는 디모자익(demosaic)을 처리 및 상기 풀 컬러 영상의 출력 크기를 현재 비디오 출력 사이즈에 맞게 가변하는 스케일링(scaling)을 처리하도록 동작할 수 있다.According to one embodiment, the image signal processor 320 processes demosaic to convert the input data into a full-color image based on parameters determined through an AI network and output size of the full-color image. may be operated to process variable scaling to match the current video output size.
일 실시예에 따르면, 상기 파라미터는 네트워크 레이어 정보, 가중치 파라미터, 및/또는 바이어스 파라미터 중 적어도 하나를 포함할 수 있다.According to one embodiment, the parameters may include at least one of network layer information, weight parameters, and/or bias parameters.
본 개시의 일 실시예에 따른 전자 장치(101)를 위한 영상 처리 장치는, 카메라(예: 도 1 내지 도 3의 카메라 모듈(180)), 상기 카메라와 작동적으로 연결된 이미지 시그널 프로세서(ISP, image signal processor)(예: 도 3 또는 도 4의 ISP(320)), 및 상기 이미지 시그널 프로세서와 작동적으로 연결된 메모리(예: 도 1 또는 도 3의 메모리(130) 또는 도 4의 메모리(480))를 포함할 수 있다.An image processing device for an electronic device 101 according to an embodiment of the present disclosure includes a camera (e.g., the camera module 180 of FIGS. 1 to 3) and an image signal processor (ISP) operatively connected to the camera. image signal processor) (e.g., ISP 320 of FIG. 3 or 4), and a memory operatively connected to the image signal processor (e.g., memory 130 of FIG. 1 or FIG. 3 or memory 480 of FIG. 4) ))) may be included.
일 실시예에 따르면, 상기 메모리(130, 480)는, 실행 시에, 상기 이미지 시그널 프로세서(320)가, 사용자에 의해 동영상 촬영을 수행하는 동안, 상기 카메라를 통해 센서의 센서 출력 사이즈에 대응하는 입력 데이터(예: 로우 데이터(raw data))를 수신하도록 하는 인스트럭션을 저장할 수 있다. 일 실시예에 따르면, 상기 메모리(130, 480)는, 실행 시에, 상기 이미지 시그널 프로세서(320)가, 상기 동영상이 촬영되는 설정 또는 설정 변경에 대응하는 파라미터를 결정하도록 하는 인스트럭션을 저장할 수 있다. 일 실시예에 따르면, 상기 메모리(130, 480)는, 실행 시에, 상기 이미지 시그널 프로세서(320)가, 상기 파라미터에 기반하여 상기 입력 데이터를 풀 컬러(full color) 영상으로 변환 및 상기 풀 컬러 영상의 출력 크기를 비디오 출력 사이즈에 맞게 가변하는 영상 처리를 수행하도록 하는 인스트럭션들을 저장할 수 있다. 일 실시예에 따르면, 상기 메모리(130, 480)는, 실행 시에, 상기 이미지 시그널 프로세서(320)가, 영상 처리에 따른 영상 데이터를 출력하도록 하는 인스트럭션들을 저장할 수 있다.According to one embodiment, the memory 130, 480, when executed, the image signal processor 320, while performing video capture by the user, corresponds to the sensor output size of the sensor through the camera. Instructions for receiving input data (e.g. raw data) can be stored. According to one embodiment, the memories 130 and 480 may store instructions that, when executed, allow the image signal processor 320 to determine parameters corresponding to settings or settings changes in which the video is captured. . According to one embodiment, when the memories 130 and 480 are executed, the image signal processor 320 converts the input data into a full color image based on the parameters and displays the full color image. Instructions that perform image processing to change the output size of the image to match the video output size can be stored. According to one embodiment, the memories 130 and 480 may store instructions that, when executed, cause the image signal processor 320 to output image data according to image processing.
이하에서는 다양한 실시예들의 전자 장치(101)의 동작 방법에 대해서 상세하게 설명한다. 다양한 실시예들에 따른 전자 장치(101)에서 수행하는 동작들은, 전자 장치(101)의 다양한 프로세싱 회로(various processing circuitry) 및/또는 실행 가능한 프로그램 요소(executable program elements)를 포함하는 프로세서(120)(예: ISP(320))에 의해 실행될 수 있다. 일 실시예에 따라, 전자 장치(101)에서 수행하는 동작들은, 메모리(130)에 저장되고, 실행 시에, 프로세서(120)(예: ISP(320))가 동작하도록 하는 인스트럭션들(instructions)에 의해 실행될 수 있다.Hereinafter, methods of operating the electronic device 101 in various embodiments will be described in detail. Operations performed in the electronic device 101 according to various embodiments include a processor 120 including various processing circuitry and/or executable program elements of the electronic device 101. It can be executed by (e.g. ISP 320). According to one embodiment, operations performed by the electronic device 101 are stored in the memory 130 and, when executed, include instructions that cause the processor 120 (e.g., ISP 320) to operate. It can be executed by .
도 12는 본 개시의 일 실시예에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.FIG. 12 is a flowchart illustrating a method of operating an electronic device according to an embodiment of the present disclosure.
일 실시예에 따라, 도 12는 일 실시예에 따른 전자 장치(101)에서 동영상 촬영(예: 녹화) 시에 AI 방식으로 동영상의 영상 처리를 지원하는 예를 나타낼 수 있다.According to one embodiment, FIG. 12 may show an example of supporting image processing of a video using an AI method when capturing (e.g., recording) a video in the electronic device 101 according to an embodiment.
본 개시의 일 실시예에 따른 전자 장치(101)에서, 동영상에 대한 영상 처리 방법은, 예를 들어, 도 12에 도시된 흐름도에 따라 수행될 수 있다. 도 12에 도시된 흐름도는 전자 장치(101)의 영상 처리의 일 실시예에 따른 흐름도에 불과하며, 적어도 일부 동작의 순서는 변경되거나 병렬적으로 수행되거나, 독립적인 동작으로 수행되거나, 또는 적어도 일부 다른 동작이 적어도 일부 동작에 보완적으로 수행될 수 있다. 본 개시의 일 실시예에 따르면, 동작 1201 내지 동작 1211은 전자 장치(101)의 적어도 하나의 프로세서(120)(예: ISP(320))에서 수행될 수 있다.In the electronic device 101 according to an embodiment of the present disclosure, an image processing method for a video may be performed, for example, according to the flowchart shown in FIG. 12. The flowchart shown in FIG. 12 is merely a flowchart according to an embodiment of image processing of the electronic device 101, and the order of at least some operations may be changed, performed in parallel, performed as independent operations, or at least some of the operations. Other operations may be performed complementary to at least some operations. According to an embodiment of the present disclosure, operations 1201 to 1211 may be performed by at least one processor 120 (eg, ISP 320) of the electronic device 101.
일 실시예에 따르면, 도 12에서 설명되는 동작은, 예를 들어, 도 3 내지 도 11에서 설명된 동작들에 결합하여 휴리스틱(heuristic)하게 수행되거나, 설명된 동작들의 적어 일부 동작의 상세 동작으로 휴리스틱하게 수행될 수 있다.According to one embodiment, the operation described in FIG. 12 is, for example, performed heuristically in combination with the operations described in FIGS. 3 to 11, or is performed as a detailed operation of some of the described operations. It can be performed heuristically.
도 12에 도시한 바와 같이, 일 실시예에 따른 전자 장치(101)가 수행하는 동작 방법(예: 동영상의 영상 처리를 지원하기 위한 동작 방법)은, 동영상 촬영을 수행하는 동작(1201), 동영상 촬영을 수행하는 동안 카메라 모듈(180)을 통해 로우 데이터를 수신하는 동작(1203), 동영상이 촬영되는 설정 또는 설정 변경을 식별하는 동작(1205), 설정 또는 설정 변경에 대응하는 파라미터를 결정하는 동작(1207), 파라미터에 기반하여 로우 데이터에 대한 영상 처리를 수행하는 동작(1209), 및 영상 처리에 따른 영상 데이터를 출력하는 동작(1211)을 포함할 수 있다. As shown in FIG. 12, an operation method performed by the electronic device 101 according to an embodiment (e.g., an operation method for supporting image processing of a video) includes an operation 1201 of performing video capture, video An operation 1203 of receiving raw data through the camera module 180 while shooting, an operation 1205 of identifying a setting or a setting change in which a video is captured, and an operation of determining parameters corresponding to the setting or setting change. It may include (1207), an operation (1209) of performing image processing on raw data based on parameters, and an operation (1211) of outputting image data according to image processing.
도 12를 참조하면, 동작 1201에서, 전자 장치(101)의 프로세서(120)(예: ISP(320))는 동영상을 촬영하는 동작을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자 입력에 기반하여 동영상 촬영과 관련된 어플리케이션을 실행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 어플리케이션 실행에 기반하여 카메라 모듈(180)을 실행(또는 활성화)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 카메라 모듈(180)을 통해 획득되는 영상(예: 프리뷰 이미지(preview image))을 표시하도록 디스플레이 모듈(160)을 제어할 수 있다. 일 실시예에 따르면, 프로세서(120)는 동영상 촬영(예: 녹화)을 실행하는 사용자 입력을 감지하는 것에 기반하여 동영상 촬영을 시작할 수 있다.Referring to FIG. 12 , in operation 1201, the processor 120 (eg, ISP 320) of the electronic device 101 may perform an operation of capturing a video. According to one embodiment, the processor 120 may execute an application related to video shooting based on user input. According to one embodiment, the processor 120 may execute (or activate) the camera module 180 based on application execution. According to one embodiment, the processor 120 may control the display module 160 to display an image (eg, a preview image) acquired through the camera module 180. According to one embodiment, the processor 120 may start video capture based on detecting a user input that performs video capture (eg, recording).
동작 1203에서, 프로세서(120)는 동영상 촬영을 수행하는 동안 카메라 모듈(180)을 통해 로우 데이터(raw data)를 수신하는 동작을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)의 ISP(320)는 동영상 촬영을 수행하는 동안, 카메라 모듈(180)(예: 이미지 센서(410))에서 전송된 가공되지 않은 로우 데이터를 수신할 수 있다. 일 실시예에 따르면, 이미지 센서(410)는 이미지 센서(410)의 CFA 패턴에 따라 CFA 데이터(또는 CFA 영상)을 획득하고, 획득된 CFA 데이터를 계측부(430)를 통해 ISP(320)(예: ISP(320)의 정렬부(440))에 전달할 수 있다. 일 실시예에 따르면, 계측부(430)는 로우 데이터에 기반하여 계측 데이터를 추출하고, 계측 데이터를 ISP(320)에 전달할 수 있다. 일 실시예에서, 계측 데이터는 모션 데이터(motion data) 및 3A(예: Auto exposure, Auto white balance, Auto focus) 데이터를 포함할 수 있다. 일 실시예에 따르면, 계측부(430)는 이미지 센서(430)에서 입력되는 1 장 또는 여러 장(예: N 장)의 프레임에 기반하여 영상의 움직임을 판단할 수 있다. 일 실시예에 따르면, ISP(320)는 이미지 센서(410)의 로우 데이터와 계측부(430)의 계측 데이터를 각각 획득할 수 있다.In operation 1203, the processor 120 may receive raw data through the camera module 180 while capturing a video. According to one embodiment, the ISP 320 of the processor 120 may receive unprocessed raw data transmitted from the camera module 180 (e.g., the image sensor 410) while performing video shooting. . According to one embodiment, the image sensor 410 acquires CFA data (or CFA image) according to the CFA pattern of the image sensor 410, and transmits the acquired CFA data to the ISP 320 (e.g. : Can be transmitted to the alignment unit 440 of the ISP 320. According to one embodiment, the measurement unit 430 may extract measurement data based on raw data and transmit the measurement data to the ISP 320. In one embodiment, the measurement data may include motion data and 3A (eg, Auto exposure, Auto white balance, Auto focus) data. According to one embodiment, the measurement unit 430 may determine the movement of the image based on one or several frames (eg, N frames) input from the image sensor 430. According to one embodiment, the ISP 320 may acquire raw data of the image sensor 410 and measurement data of the measurement unit 430, respectively.
동작 1205에서, 프로세서(120)는 동영상이 촬영되는 설정 또는 설정 변경을 식별하는 동작을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)의 ISP(320)는 동영상 촬영에 현재 설정된 비디오 모드(예: 비디오 해상도)(예: HD, FHD, UHD, 또는 8K) 또는 동영상 촬영 동안 설정된 비디오 모드의 변경을 감지할 수 있다. 일 실시예에 따르면, ISP(320)는 카메라 모듈(180)에 의해 자동 변경되는 비디오 모드를 감지할 수 있다.In operation 1205, the processor 120 may perform an operation to identify settings in which a video is captured or settings change. According to one embodiment, the ISP 320 of the processor 120 may change the video mode (e.g., video resolution) currently set for video capture (e.g., HD, FHD, UHD, or 8K) or the video mode set during video capture. can be detected. According to one embodiment, the ISP 320 may detect a video mode automatically changed by the camera module 180.
동작 1207에서, 프로세서(120)는 설정 또는 설정 변경에 대응하는 파라미터를 결정하는 동작을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)의 ISP(320)는 이미지 센서(410)의 CFA 패턴, 렌즈 특성(예: 마이크로 렌즈), 계측부(430)의 계측 데이터(예: 모션 데이터), 센서 출력 사이즈, 및/또는 비디오 출력 사이즈 중 적어도 하나의 요소에 기반하여 파라미터를 결정할 수 있다. 예를 들어, ISP(320)는 ISP(320)의 AI 네트워크(460)에서 사용할 파라미터를 설정 또는 설정 변경에 대응하여 실시간으로 전환할 수 있다. 예를 들어, ISP(320)는 계측부(430)의 계측 데이터를 기반으로 AI 네트워크(460)를 위한 파라미터를 입출력 크기가 다른 파라미터로 실시간으로 변경할 수 있다. 예를 들어, ISP(320)는 동영상 촬영을 수행하는 동안 사용자의 비디오 모드 변경에 대응하여 입출력 크기가 다른 파라미터로 실시간으로 변경할 수 있다. In operation 1207, the processor 120 may perform an operation of determining a parameter corresponding to a setting or setting change. According to one embodiment, the ISP 320 of the processor 120 includes the CFA pattern of the image sensor 410, lens characteristics (e.g., micro lens), measurement data (e.g., motion data) of the measurement unit 430, and sensor output. The parameter may be determined based on at least one factor of size and/or video output size. For example, the ISP 320 may switch parameters to be used in the AI network 460 of the ISP 320 in real time in response to setting or changing settings. For example, the ISP 320 can change the parameters for the AI network 460 to parameters with different input/output sizes in real time based on the measurement data of the measurement unit 430. For example, the ISP 320 may change the input/output size to a different parameter in real time in response to the user's change in video mode while shooting a video.
동작 1209에서, 프로세서(120)는 파라미터에 기반하여 로우 데이터에 대한 영상을 처리하는 동작을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)의 ISP(320)는 파라미터에 기반하여 AI 네트워크(460)를 통해 로우 데이터에 대한 디모자익(예: 풀 컬러 영상) 및 리사이즈를 동시에 처리할 수 있다. 일 실시예에 따르면, ISP(320)는 AI 네트워크(460)를 통해 로우 데이터(예: CFA 영상)를 풀 컬러로 디모자익을 수행하고, 설정 또는 설정 변경에 대응하는 학습된 파라미터(예: AI 파라미터)를 이용하여, 계측부(430)와 정렬부(440)에서 정합된 적어도 하나의 영상(예: 1 장 또는 복수의 프레임)을 이용하여 하나의 풀 컬러 영상을 출력할 수 있다. 일 실시예에 따르면, ISP(320)는 AI 네트워크(460)를 통해 네트워크 레이어 정보, 가중치 파라미터, 및/또는 바이어스 파라미터를 설정 또는 설정 변경에 맞게 변경하여, 대응하는 출력(예: 비디오 출력 사이즈)으로 리사이즈 하여 출력할 수 있다. In operation 1209, the processor 120 may process an image for raw data based on parameters. According to one embodiment, the ISP 320 of the processor 120 may simultaneously process demosaicing (e.g., full color image) and resizing of raw data through the AI network 460 based on parameters. According to one embodiment, the ISP 320 performs demosaicing of raw data (e.g., CFA image) in full color through the AI network 460, and uses learned parameters corresponding to settings or settings changes (e.g., AI parameters), one full-color image can be output using at least one image (eg, one image or multiple frames) matched by the measurement unit 430 and the alignment unit 440. According to one embodiment, the ISP 320 changes network layer information, weight parameters, and/or bias parameters through the AI network 460 to match settings or change settings, and outputs correspondingly (e.g., video output size). It can be resized and printed.
동작 1211에서, 프로세서(120)는 영상 처리에 따른 영상 데이터(예: 출력 데이터)를 출력하는 동작을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)의 ISP(320)는 영상 데이터를 메모리(130)(예: 도 4의 메모리(480)) 및/또는 디스플레이 모듈(160)로 출력할 수 있다.In operation 1211, the processor 120 may perform an operation of outputting image data (eg, output data) according to image processing. According to one embodiment, the ISP 320 of the processor 120 may output image data to the memory 130 (eg, the memory 480 of FIG. 4) and/or the display module 160.
본 개시의 일 실시예에 따른 전자 장치(101)에서 수행하는 동작 방법은, 사용자에 의해 동영상 촬영을 수행하는 동안, 이미지 시그널 프로세서(ISP, image signal processor)(예: 도 3 또는 도 4의 ISP(320))가, 카메라(예: 도 1 내지 도 3의 카메라 모듈(180))를 통해 센서의 센서 출력 사이즈에 대응하는 입력 데이터(예: 로우 데이터(raw data))를 수신하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 동작 방법은, 상기 동영상이 촬영되는 설정 또는 설정 변경에 대응하는 파라미터를 결정하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 동작 방법은, 상기 파라미터에 기반하여 상기 입력 데이터를 풀 컬러(full color) 영상으로 변환 및 상기 풀 컬러 영상의 출력 크기를 비디오 출력 사이즈에 맞게 가변하는 영상 처리를 수행하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 동작 방법은, 영상 처리에 따른 영상 데이터를 출력하는 동작을 포함할 수 있다.An operation method performed by the electronic device 101 according to an embodiment of the present disclosure includes using an image signal processor (ISP) (e.g., the ISP of FIG. 3 or 4) while a user is capturing a video. (320)) includes an operation of receiving input data (e.g., raw data) corresponding to the sensor output size of the sensor through a camera (e.g., the camera module 180 in FIGS. 1 to 3). can do. According to one embodiment, the operating method may include determining a parameter corresponding to a setting or setting change in which the video is captured. According to one embodiment, the operating method performs image processing to convert the input data into a full color image based on the parameters and vary the output size of the full color image to match the video output size. Can include actions. According to one embodiment, the operating method may include outputting image data according to image processing.
일 실시예에 따르면, 상기 입력 데이터를 수신하는 동작은, 상기 카메라의 이미지 센서로부터 입력 데이터를 수신하는 동작, 상기 카메라의 계측부에 의해 상기 입력 데이터에 기반하여 추출된 계측 데이터를 수신하는 동작을 포함할 수 있다.According to one embodiment, the operation of receiving the input data includes receiving input data from an image sensor of the camera and receiving measurement data extracted based on the input data by a measurement unit of the camera. can do.
일 실시예에 따르면, 상기 영상 처리를 수행하는 동작은, 상기 이미지 시그널 프로세서(예: 정렬부)에 의해, 상기 이미지 센서의 입력 데이터와 상기 계측부의 계측 데이터를 정합하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 영상 처리를 수행하는 동작은, 상기 이미지 시그널 프로세서(예: 전처리부)에 의해, 상기 입력 데이터의 픽셀 별 사칙 연산을 처리하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 영상 처리를 수행하는 동작은, 상기 이미지 시그널 프로세서(예: AI 네트워크)에 의해, 상기 동영상 촬영을 수행하는 동안 인공지능(AI, artificial intelligence) 기반으로 상기 입력 데이터를 상기 풀 컬러 영상으로 변환 및 상기 비디오 출력 사이즈에 대응하게 스케일링을 처리하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 영상 처리를 수행하는 동작은, 상기 이미지 시그널 프로세서(예: 후처리부)에 의해, 상기 AI 네트워크로부터 출력되는 풀 컬러 영상을, 상기 계측 데이터를 이용하여 실시간 톤 보정(tone mapping)을 수행하는 동작을 포함할 수 있다.According to one embodiment, the operation of performing the image processing may include an operation of matching input data of the image sensor and measurement data of the measurement unit by the image signal processor (eg, alignment unit). According to one embodiment, the operation of performing the image processing may include processing an arithmetic operation for each pixel of the input data by the image signal processor (eg, a preprocessor). According to one embodiment, the operation of performing the image processing is to process the input data based on artificial intelligence (AI) while performing the video capture by the image signal processor (e.g., AI network). It may include converting a full color image and scaling it to correspond to the video output size. According to one embodiment, the operation of performing the image processing is to perform real-time tone correction (tone correction) on the full color image output from the AI network by the image signal processor (e.g., post-processing unit) using the measurement data. It may include an operation to perform mapping).
일 실시예에 따르면, 상기 파라미터를 결정하는 동작은, 상기 동영상 촬영을 수행하는 동안, 동영상 촬영에 현재 설정된 비디오 모드 또는 동영상 촬영 동안 설정된 비디오 모드의 변경을 감지하는 동작, 감지하는 결과에 대응하여 AI 네트워크에서 학습된 파라미터를 결정하는 동작을 포함할 수 있다.According to one embodiment, the operation of determining the parameter includes, while performing the video capture, an operation of detecting a change in the video mode currently set for video capture or a video mode set during video capture, and AI in response to the detected result. It may include an operation to determine parameters learned in the network.
일 실시예에 따르면, 상기 파라미터를 결정하는 동작은, 상기 동영상 촬영을 수행하는 동안, 상기 카메라에 의해 자동 변경되는 비디오 모드를 감지하는 동작, 감지하는 결과에 대응하여 AI 네트워크에서 학습된 파라미터를 결정하는 동작을 포함할 수 있다.According to one embodiment, the operation of determining the parameter includes detecting a video mode automatically changed by the camera while shooting the video, and determining a parameter learned from an AI network in response to the detected result. It may include actions such as:
일 실시예에 따르면, 상기 파라미터를 결정하는 동작은, 이미지 센서의 CFA 패턴, 렌즈 특성, 계측부의 계측 데이터, 센서 출력 사이즈, 및/또는 비디오 출력 사이즈 중 적어도 하나의 요소에 기반하여 파라미터를 결정하는 동작을 포함할 수 있다.According to one embodiment, the operation of determining the parameter includes determining the parameter based on at least one element of the CFA pattern of the image sensor, lens characteristics, measurement data of the measurement unit, sensor output size, and/or video output size. Can include actions.
일 실시예에 따르면, 상기 파라미터를 결정하는 동작은, 상기 설정 또는 상기 설정 변경에 대응하여 AI 네트워크를 위한 파라미터를 입출력 크기가 다른 파라미터로 실시간으로 변경하는 동작을 포함할 수 있다.According to one embodiment, the operation of determining the parameter may include an operation of changing the parameter for the AI network to a parameter with a different input/output size in real time in response to the setting or change in the setting.
일 실시예에 따르면, 상기 파라미터를 결정하는 동작은, AI 네트워크를 통해 결정된 파라미터에 기반하여, 상기 입력 데이터를 풀 컬러 영상으로 변환하는 디모자익(demosaic)을 처리하는 동작, 및 상기 풀 컬러 영상의 출력 크기를 현재 비디오 출력 사이즈에 맞게 가변하는 스케일링(scaling)을 처리하는 동작을 포함할 수 있다.According to one embodiment, the operation of determining the parameter includes processing demosaic to convert the input data into a full color image based on parameters determined through an AI network, and processing the demosaic of the full color image. It may include an operation to process scaling to change the output size to match the current video output size.
일 실시예에 따르면, 상기 파라미터는 실시간으로 변경 가능하다. According to one embodiment, the parameters can be changed in real time.
일 실시예에 따르면, 상기 파라미터는 네트워크 레이어 정보, 가중치 파라미터, 및/또는 바이어스 파라미터 중 적어도 하나를 포함할 수 있다.According to one embodiment, the parameters may include at least one of network layer information, weight parameters, and/or bias parameters.
본 명세서와 도면에 개시된 본 개시의 다양한 실시예들은 본 개시의 기술 내용을 쉽게 설명하고 본 개시의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 범위를 한정하고자 하는 것은 아니다. 따라서 본 개시의 범위는 여기에 개시된 실시예들 이외에도 본 개시의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.The various embodiments of the present disclosure disclosed in the specification and drawings are merely provided as specific examples to easily explain the technical content of the present disclosure and aid understanding of the present disclosure, and are not intended to limit the scope of the present disclosure. Therefore, the scope of the present disclosure should be construed as including all changes or modified forms derived based on the technical idea of the present disclosure in addition to the embodiments disclosed herein.

Claims (15)

  1. 전자 장치에 있어서, In electronic devices,
    디스플레이;display;
    카메라; camera;
    상기 디스플레이 및 상기 카메라와 작동적으로 연결된 프로세서; 및a processor operatively connected to the display and the camera; and
    상기 프로세서에 포함된 이미지 시그널 프로세서(ISP, image signal processor)를 포함하고, 상기 이미지 시그널 프로세서는,An image signal processor (ISP, image signal processor) included in the processor, wherein the image signal processor includes,
    사용자에 의해 동영상 촬영을 수행하는 동안, 상기 카메라를 통해 센서의 센서 출력 사이즈에 대응하는 입력 데이터를 수신하고,While performing video capture by the user, receive input data corresponding to the sensor output size of the sensor through the camera,
    상기 동영상이 촬영되는 설정 또는 설정 변경에 대응하는 파라미터를 결정하고, Determine parameters corresponding to settings or settings changes in which the video is captured,
    상기 파라미터에 기반하여 상기 입력 데이터를 풀 컬러(full color) 영상으로 변환 및 상기 풀 컬러 영상의 출력 크기를 비디오 출력 사이즈에 맞게 가변하는 영상 처리를 수행하고, 및Based on the parameters, perform image processing to convert the input data into a full color image and vary the output size of the full color image to match the video output size, and
    영상 처리에 따른 영상 데이터를 출력하도록 설정된 전자 장치.An electronic device set to output image data according to image processing.
  2. 제1항에 있어서, 상기 카메라는,The method of claim 1, wherein the camera:
    상기 카메라의 렌즈를 통해 상기 입력 데이터를 수신하도록 설정된 이미지 센서; 및an image sensor configured to receive the input data through a lens of the camera; and
    상기 이미지 센서로부터 상기 입력 데이터를 수신하고, 수신된 입력 데이터에 기반하여 계측 데이터를 추출하도록 설정된 계측부를 포함하고,A measurement unit configured to receive the input data from the image sensor and extract measurement data based on the received input data,
    상기 계측부는, 상기 이미지 센서의 CFA(color filter array) 패턴에 따라 계측을 수행하고, 상기 이미지 센서로부터 적어도 한 장의 프레임을 통해 영상의 움직임을 판단하도록 설정된 전자 장치.The measurement unit is configured to perform measurement according to a color filter array (CFA) pattern of the image sensor and determine movement of an image through at least one frame from the image sensor.
  3. 제2항에 있어서, 상기 이미지 시그널 프로세서는,The method of claim 2, wherein the image signal processor,
    상기 이미지 센서의 입력 데이터와 상기 계측부의 계측 데이터를 정합하도록 설정된 정렬부;an alignment unit configured to match input data from the image sensor and measurement data from the measurement unit;
    상기 입력 데이터의 픽셀 별 사칙 연산을 처리하는 전처리부; a preprocessor that processes arithmetic operations for each pixel of the input data;
    상기 동영상 촬영을 수행하는 동안 인공지능(AI, artificial intelligence) 기반으로 상기 입력 데이터를 상기 풀 컬러 영상으로 변환 및 상기 비디오 출력 사이즈에 대응하게 스케일링을 처리하는 AI 네트워크; 및An AI network that converts the input data into the full color image and performs scaling corresponding to the video output size based on artificial intelligence (AI) while capturing the video; and
    상기 AI 네트워크로부터 출력되는 풀 컬러 영상을, 상기 계측 데이터를 이용하여 실시간 톤 보정(tone mapping)을 수행하는 후처리부를 포함하는 전자 장치.An electronic device including a post-processing unit that performs real-time tone mapping on a full-color image output from the AI network using the measurement data.
  4. 제1항에 있어서, 상기 이미지 시그널 프로세서는,The method of claim 1, wherein the image signal processor:
    상기 동영상 촬영을 수행하는 동안, 동영상 촬영에 현재 설정된 비디오 모드 또는 동영상 촬영 동안 설정된 비디오 모드의 변경을 감지하고, 감지하는 결과에 대응하여 AI 네트워크에서 학습된 파라미터를 결정하도록 설정된 전자 장치.While performing the video capture, an electronic device configured to detect a change in the video mode currently set for video capture or a video mode set during video capture, and determine parameters learned from the AI network in response to the detected results.
  5. 제1항에 있어서, 상기 이미지 시그널 프로세서는,The method of claim 1, wherein the image signal processor:
    상기 동영상 촬영을 수행하는 동안, 상기 카메라에 의해 자동 변경되는 비디오 모드를 감지하고, 감지하는 결과에 대응하여 AI 네트워크에서 학습된 파라미터를 결정하도록 설정된 전자 장치.An electronic device configured to detect a video mode automatically changed by the camera while capturing the video, and determine parameters learned from an AI network in response to the detected result.
  6. 제1항에 있어서, 상기 이미지 시그널 프로세서는,The method of claim 1, wherein the image signal processor:
    이미지 센서의 CFA 패턴, 렌즈 특성, 계측부의 계측 데이터, 센서 출력 사이즈, 및/또는 비디오 출력 사이즈 중 적어도 하나의 요소에 기반하여 파라미터를 결정하도록 설정된 전자 장치.An electronic device configured to determine a parameter based on at least one element of an image sensor's CFA pattern, lens characteristics, measurement data of a measurement unit, sensor output size, and/or video output size.
  7. 제1항에 있어서, According to paragraph 1,
    상기 파라미터는 실시간으로 변경 가능한 전자 장치.An electronic device in which the parameters can be changed in real time.
  8. 제1항에 있어서, 상기 이미지 시그널 프로세서는,The method of claim 1, wherein the image signal processor:
    상기 설정 또는 상기 설정 변경에 대응하여 AI 네트워크를 위한 파라미터를 입출력 크기가 다른 파라미터로 실시간으로 변경하도록 설정된 전자 장치.An electronic device configured to change parameters for an AI network in real time to parameters with different input/output sizes in response to the settings or changes to the settings.
  9. 제1항에 있어서, 상기 이미지 시그널 프로세서는,The method of claim 1, wherein the image signal processor:
    AI 네트워크를 통해 결정된 파라미터에 기반하여, 상기 입력 데이터를 풀 컬러 영상으로 변환하는 디모자익(demosaic)을 처리 및 상기 풀 컬러 영상의 출력 크기를 현재 비디오 출력 사이즈에 맞게 가변하는 스케일링(scaling)을 처리하도록 설정된 전자 장치.Based on parameters determined through an AI network, demosaic processing is performed to convert the input data into a full-color image, and scaling is performed to vary the output size of the full-color image to match the current video output size. An electronic device configured to do so.
  10. 제1항에 있어서, According to paragraph 1,
    상기 파라미터는 네트워크 레이어 정보, 가중치 파라미터, 및/또는 바이어스 파라미터 중 적어도 하나를 포함하는 전자 장치.The electronic device wherein the parameters include at least one of network layer information, weight parameters, and/or bias parameters.
  11. 전자 장치의 영상 처리 장치에 있어서,In an image processing device of an electronic device,
    카메라;camera;
    상기 카메라와 작동적으로 연결된 이미지 시그널 프로세서(ISP, image signal processor); 및an image signal processor (ISP) operatively connected to the camera; and
    상기 이미지 시그널 프로세서와 작동적으로 연결된 메모리를 포함하고,comprising a memory operatively coupled to the image signal processor;
    상기 메모리는, 실행 시에, 상기 이미지 시그널 프로세서가,The memory may, when executed, cause the image signal processor to:
    사용자에 의해 동영상 촬영을 수행하는 동안, 상기 카메라를 통해 센서의 센서 출력 사이즈에 대응하는 입력 데이터를 수신하고,While performing video capture by the user, receive input data corresponding to the sensor output size of the sensor through the camera,
    상기 동영상이 촬영되는 설정 또는 설정 변경에 대응하는 파라미터를 결정하고, Determine parameters corresponding to settings or settings changes in which the video is captured,
    상기 파라미터에 기반하여 상기 입력 데이터를 풀 컬러(full color) 영상으로 변환 및 상기 풀 컬러 영상의 출력 크기를 비디오 출력 사이즈에 맞게 가변하는 영상 처리를 수행하고, 및Based on the parameters, perform image processing to convert the input data into a full color image and vary the output size of the full color image to match the video output size, and
    영상 처리에 따른 영상 데이터를 출력하도록 하는 인스트럭션들을 저장하는 영상 처리 장치.An image processing device that stores instructions that output image data according to image processing.
  12. 전자 장치의 동작 방법에 있어서, In a method of operating an electronic device,
    사용자에 의해 동영상 촬영을 수행하는 동안, 이미지 시그널 프로세서(ISP, image signal processor)가, 카메라를 통해 센서의 센서 출력 사이즈에 대응하는 입력 데이터를 수신하는 동작;An operation of an image signal processor (ISP) receiving input data corresponding to the sensor output size of a sensor through a camera while a user performs video shooting;
    상기 동영상이 촬영되는 설정 또는 설정 변경에 대응하는 파라미터를 결정하는 동작; An operation of determining a parameter corresponding to a setting or setting change in which the video is captured;
    상기 파라미터에 기반하여 상기 입력 데이터를 풀 컬러(full color) 영상으로 변환 및 상기 풀 컬러 영상의 출력 크기를 비디오 출력 사이즈에 맞게 가변하는 영상 처리를 수행하는 동작; 및converting the input data into a full color image based on the parameters and performing image processing to vary the output size of the full color image to match the video output size; and
    영상 처리에 따른 영상 데이터를 출력하는 동작을 포함하는 방법.A method including the operation of outputting image data according to image processing.
  13. 제12항에 있어서, 상기 입력 데이터를 수신하는 동작은,The method of claim 12, wherein the operation of receiving the input data includes:
    상기 카메라의 이미지 센서로부터 입력 데이터를 수신하는 동작,An operation of receiving input data from an image sensor of the camera,
    상기 카메라의 계측부에 의해 상기 입력 데이터에 기반하여 추출된 계측 데이터를 수신하는 동작을 포함하는 방법.A method comprising receiving measurement data extracted based on the input data by a measurement unit of the camera.
  14. 제13항에 있어서, 상기 영상 처리를 수행하는 동작은,The method of claim 13, wherein the operation of performing the image processing includes:
    상기 이미지 시그널 프로세서에 의해, 상기 입력 데이터와 상기 계측 데이터를 정합하는 동작,An operation of matching the input data and the measurement data by the image signal processor,
    상기 입력 데이터의 픽셀 별 사칙 연산을 처리하는 동작, An operation of processing an arithmetic operation for each pixel of the input data,
    상기 동영상 촬영을 수행하는 동안 인공지능(AI, artificial intelligence) 기반으로 상기 입력 데이터를 상기 풀 컬러 영상으로 변환 및 상기 비디오 출력 사이즈에 대응하게 스케일링을 처리하는 동작, 및An operation of converting the input data into the full color image and processing scaling corresponding to the video output size based on artificial intelligence (AI) while shooting the video, and
    상기 풀 컬러 영상을, 상기 계측 데이터를 이용하여 실시간 톤 보정(tone mapping)을 수행하는 동작을 포함하는 방법.A method comprising performing real-time tone mapping on the full color image using the measurement data.
  15. 제12항에 있어서, According to clause 12,
    상기 파라미터는 실시간으로 변경 가능하고, 네트워크 레이어 정보, 가중치 파라미터, 및/또는 바이어스 파라미터 중 적어도 하나를 포함하는 방법.The method is capable of changing in real time and includes at least one of network layer information, weight parameters, and/or bias parameters.
PCT/KR2023/015018 2022-10-04 2023-09-27 Artificial-intelligence-based image processing method and electronic device for supporting same WO2024076101A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0126608 2022-10-04
KR20220126608 2022-10-04
KR1020220184871A KR20240047283A (en) 2022-10-04 2022-12-26 Artificial intelligence-based image processing method and electronic device supporting the same
KR10-2022-0184871 2022-12-26

Publications (1)

Publication Number Publication Date
WO2024076101A1 true WO2024076101A1 (en) 2024-04-11

Family

ID=90608702

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/015018 WO2024076101A1 (en) 2022-10-04 2023-09-27 Artificial-intelligence-based image processing method and electronic device for supporting same

Country Status (1)

Country Link
WO (1) WO2024076101A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130116796A (en) * 2012-04-16 2013-10-24 삼성전자주식회사 Apparatus and mehod for processing a image in camera device
KR20190021756A (en) * 2017-08-23 2019-03-06 엘지디스플레이 주식회사 Image processing method and display device using the same
KR20200143815A (en) * 2019-06-17 2020-12-28 주식회사 피앤오 Artificial intelligence camera system, method of transforming image therein, and computer-readable medium
KR20210139450A (en) * 2019-03-25 2021-11-22 후아웨이 테크놀러지 컴퍼니 리미티드 Image display method and device
KR20220127642A (en) * 2021-03-11 2022-09-20 삼성전자주식회사 Electronic apparatus and control method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130116796A (en) * 2012-04-16 2013-10-24 삼성전자주식회사 Apparatus and mehod for processing a image in camera device
KR20190021756A (en) * 2017-08-23 2019-03-06 엘지디스플레이 주식회사 Image processing method and display device using the same
KR20210139450A (en) * 2019-03-25 2021-11-22 후아웨이 테크놀러지 컴퍼니 리미티드 Image display method and device
KR20200143815A (en) * 2019-06-17 2020-12-28 주식회사 피앤오 Artificial intelligence camera system, method of transforming image therein, and computer-readable medium
KR20220127642A (en) * 2021-03-11 2022-09-20 삼성전자주식회사 Electronic apparatus and control method thereof

Similar Documents

Publication Publication Date Title
WO2021086040A1 (en) Method for providing preview and electronic device for displaying preview
WO2022039424A1 (en) Image stabilization method and electronic device therefor
WO2021133025A1 (en) Electronic device comprising image sensor and method of operation thereof
WO2019156428A1 (en) Electronic device and method for correcting images using external electronic device
WO2022102972A1 (en) Electronic device comprising image sensor and method of operating same
WO2022108235A1 (en) Method, apparatus, and storage medium for providing slow shutter
WO2022030838A1 (en) Electronic device and method for controlling preview image
WO2022149654A1 (en) Electronic device for performing image stabilization, and operating method therefor
WO2022196993A1 (en) Electronic device and method for capturing image by using angle of view of camera module
WO2022092706A1 (en) Method for taking photograph by using plurality of cameras, and device therefor
WO2024076101A1 (en) Artificial-intelligence-based image processing method and electronic device for supporting same
WO2021261737A1 (en) Electronic device comprising image sensor, and method for controlling same
WO2021215795A1 (en) Color filter for electronic device, and electronic device having same
WO2021162263A1 (en) Method for generating image and electronic device therefor
WO2024106746A1 (en) Electronic device and method for increasing resolution of digital bokeh image
WO2024085673A1 (en) Electronic device for obtaining multiple exposure images and method for operating same
WO2024085501A1 (en) Learning-based image quality improvement method using image from image sensor and electronic device supporting same
WO2022240186A1 (en) Image distortion correction method and electronic device therefor
WO2022231270A1 (en) Electronic device and image processing method therefor
WO2024085487A1 (en) Electronic device, method, and non-transitory computer-readable storage medium for changing setting of camera
WO2024111924A1 (en) Method for providing image, and electronic device supporting same
WO2022092607A1 (en) Electronic device comprising image sensor and operation method of same
WO2024080767A1 (en) Electronic device for acquiring image by using camera, and operation method thereof
WO2022025574A1 (en) Electronic device comprising image sensor and image signal processor, and method therefor
WO2023033396A1 (en) Electronic device for processing continuous shooting input, and operating method therefor

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

Country of ref document: EP

Kind code of ref document: A1