WO2019245204A1 - 영상 압축을 수행하는 전자 장치 및 전자 장치의 동작 방법 - Google Patents

영상 압축을 수행하는 전자 장치 및 전자 장치의 동작 방법 Download PDF

Info

Publication number
WO2019245204A1
WO2019245204A1 PCT/KR2019/006927 KR2019006927W WO2019245204A1 WO 2019245204 A1 WO2019245204 A1 WO 2019245204A1 KR 2019006927 W KR2019006927 W KR 2019006927W WO 2019245204 A1 WO2019245204 A1 WO 2019245204A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
electronic device
processor
block
lens unit
Prior art date
Application number
PCT/KR2019/006927
Other languages
English (en)
French (fr)
Inventor
김성오
김영조
박현희
이아랑
전형주
최종범
한창수
염동현
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US17/057,760 priority Critical patent/US11477443B2/en
Publication of WO2019245204A1 publication Critical patent/WO2019245204A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6812Motion detection based on additional sensors, e.g. acceleration sensors
    • 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/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/684Vibration or motion blur correction performed by controlling the image sensor readout, e.g. by controlling the integration time
    • 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
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/61Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Definitions

  • Various embodiments of the present disclosure relate to an electronic device that performs image compression and a method of operating the electronic device.
  • HD high definition
  • UHD ultra high definition
  • the lens used for capturing images using a 360 degree camera and a drone may include a lens in which distortion of an image is greatly generated.
  • the lens used for image capturing is a fish eye lens or a wide-angle lens
  • the image may be generated in a spherical shape as the lens gets farther from the center of the lens.
  • a linear prediction method used for intra prediction of an image distorted in a spherical shape is an intra prediction.
  • the generated residual value may increase.
  • the residual value may mean a difference between the pixel value of the reference pixel and the pixel value of each of the pixels of the pixels except for the reference pixel in the intra prediction. Increasing the residual value can reduce the efficiency of image compression.
  • An electronic device may be used for intra prediction of a lens unit, an image sensor, and an image photographed using the image sensor, and differently set according to characteristics of a partial region of the lens unit.
  • a memory for storing the mode;
  • a processor wherein the processor acquires a raw image corresponding to an external object by using the image sensor, divides the raw image into a plurality of blocks, and displays a screen among the plurality of blocks.
  • Select a block to perform the prediction determine a direction mode to be used for intra prediction of the selected block based on the distortion parameter of the partial region of the lens unit corresponding to the selected block, based on the determined direction mode
  • Intra-prediction of the selected block may be performed, and a compressed image corresponding to the raw image may be generated based on the intra-prediction result.
  • An electronic device may include a lens unit; An image sensor, wherein the image sensor is arranged such that an image circle in which light corresponding to an external object passes through the lens unit is formed on the surface of the image sensor, including a part of the image sensor and no other part of the image sensor; And a processor, wherein the processor is configured to acquire an image corresponding to the external object, determine an area corresponding to the image circle in the image, and convert the image into a plurality of blocks.
  • a block included in at least part of the plurality of blocks in the image circle is compressed as part of the compressed image data, and the plurality of blocks Among the blocks not included in the image circle, the block may not be included in the compressed image data and may be set to transmit the compressed image data to an external processor.
  • a method of operating an electronic device may include: obtaining a raw image corresponding to an external object by using an image sensor; Dividing the original image into a plurality of blocks; Selecting a block to perform intra prediction from among the plurality of blocks; Determining a direction mode to be used for intra prediction of the selected block based on a distortion parameter of the partial region of the lens unit corresponding to the selected block; Performing intra prediction on the selected block based on the determined direction mode; And generating a compressed image corresponding to the raw image based on the intra prediction result.
  • an electronic device for performing image compression and an operation method of the electronic device may compress an image by compressing a block including at least a part of an image circle among a plurality of blocks constituting an image. Can improve the speed.
  • an electronic device for performing image compression and an operation method of the electronic device use a prediction mode by considering a distortion degree of a partial region of a lens corresponding to a block on which intra prediction is performed.
  • the dual value can be reduced and the efficiency of image compression can be increased.
  • an electronic device for performing image compression and an operation method of the electronic device may transmit a compressed image to a cloud platform, and the cloud platform may perform image processing on the compressed image.
  • image processing By performing image processing using a cloud platform that has more processing power than an electronic device, image processing at a high speed may be realized.
  • FIG. 1 is a block diagram of an electronic device according to various embodiments of the present disclosure.
  • FIG. 2 is a block diagram of a camera module of an electronic device according to various embodiments of the present disclosure.
  • FIG. 3 is a block diagram of an electronic device according to various embodiments of the present disclosure.
  • 4A to 4B are diagrams illustrating embodiments of determining a block to perform compression on an acquired image in an electronic device according to various embodiments of the present disclosure.
  • 5A to 5B illustrate an example of determining a distortion parameter of a lens in an electronic device according to various embodiments of the present disclosure.
  • 5C, 5D, 5E, 5F, 5G, and 5H are diagrams illustrating a direction mode used to perform intra prediction in an electronic device according to various embodiments of the present disclosure.
  • FIG. 6 is a block diagram of an electronic device and a cloud platform according to various embodiments of the present disclosure.
  • FIG. 7 is a diagram illustrating a compression process of an acquired image in an electronic device according to various embodiments of the present disclosure.
  • FIG. 8 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure.
  • FIG. 9 is a flowchart illustrating a method of operating an electronic device according to another exemplary 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 (eg, a short-range wireless communication network) or the second network 199.
  • the electronic device 104 may communicate with the server 108 through a long range wireless communication network.
  • the electronic device 101 may communicate with the electronic device 104 through the server 108.
  • the electronic device 101 may include a processor 120, a memory 130, an input device 150, an audio output device 155, a display device 160, an audio module 170, and a sensor module ( 176, interface 177, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196, or antenna module 197. ) May be included.
  • a sensor module 176, interface 177, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196, or antenna module 197.
  • the components for example, the display device 160 or the camera module 180
  • the sensor module 176 may be implemented embedded in the display device 160 (eg, display).
  • the processor 120 executes software (eg, the program 140) to execute at least one other component (eg, hardware or software component) of the electronic device 101 connected to the processor 120. It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or operation, processor 120 may send instructions or data received from another component (eg, sensor module 176 or communication module 190) to volatile memory 132. Can be loaded into, processed in a command or data stored in volatile memory 132, and stored in the non-volatile memory (134).
  • software eg, the program 140
  • processor 120 may send instructions or data received from another component (eg, sensor module 176 or communication module 190) to volatile memory 132. Can be loaded into, processed in a command or data stored in volatile memory 132, and stored in the non-volatile memory (134).
  • the processor 120 may include a main processor 121 (eg, a central processing unit or an application processor), and a coprocessor 123 (eg, a graphics processing unit, an image signal processor) that may operate independently or together. , Sensor hub processor, or communication processor). Additionally or alternatively, the coprocessor 123 may be set to use lower power than the main processor 121 or to be specialized for its designated function. The coprocessor 123 may be implemented separately from or as part of the main processor 121.
  • a main processor 121 eg, a central processing unit or an application processor
  • a coprocessor 123 eg, a graphics processing unit, an image signal processor
  • the coprocessor 123 may be set to use lower power than the main processor 121 or to be specialized for its designated function.
  • the coprocessor 123 may be implemented separately from or as part of the main processor 121.
  • the coprocessor 123 may, for example, replace the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or the main processor 121 may be active (eg, execute an application). At least one of the components of the electronic device 101 (eg, the display device 160, the sensor module 176, or the communication module 190) together with the main processor 121 while in the) state. Control at least some of the functions or states associated with the. According to one embodiment, the coprocessor 123 (eg, an image signal processor or communication processor) may be implemented as part of other functionally related components (eg, camera module 180 or communication module 190). have.
  • 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.
  • the data may include, for example, software (eg, the program 140) and input data or output data for a command related thereto.
  • the memory 130 may include a volatile memory 132 or a nonvolatile memory 134.
  • the program 140 may be stored as software in the memory 130, and may include, for example, an operating system 142, middleware 144, or an application 146.
  • the input device 150 may receive a command or data to be used for a component (for example, the processor 120) of the electronic device 101 from the outside (for example, a user) of the electronic device 101.
  • the input device 150 may include, for example, a microphone, a mouse, or a keyboard.
  • the sound output device 155 may output a sound signal to the outside of the electronic device 101.
  • the sound output device 155 may include, for example, a speaker or a receiver.
  • the speaker may be used for general purposes such as multimedia playback or recording playback, and the receiver may be used to receive an incoming call.
  • the receiver may be implemented separately from or as part of a speaker.
  • the display device 160 may visually provide information to the outside (eg, a user) of the electronic device 101.
  • the display device 160 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the device.
  • the display device 160 may include a touch circuitry configured to sense a touch, or a sensor circuit (eg, a pressure sensor) configured to measure the strength of a force generated by the touch. have.
  • the audio module 170 may convert sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 170 acquires sound through the input device 150, or an external electronic device (eg, connected to the sound output device 155 or the electronic device 101 directly or wirelessly). Sound may be output through the electronic device 102 (eg, a speaker or a headphone).
  • an external electronic device eg, connected to the sound output device 155 or the electronic device 101 directly or wirelessly. Sound may be output through the electronic device 102 (eg, a speaker or a headphone).
  • the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101, or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the detected state. can do.
  • the sensor module 176 may include, 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 infrared sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
  • the interface 177 may support one or more designated protocols that may be used for the electronic device 101 to be directly or wirelessly connected to an external electronic device (for example, the electronic device 102).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital Card interface
  • audio interface audio interface
  • connection terminal 178 may include a connector through which the electronic device 101 may 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 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that can be perceived by the user 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 may capture still images and videos. According to one embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 may manage power supplied to the electronic device 101.
  • the power management module 188 may be implemented, for example, as at least part of 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 cell, a rechargeable secondary cell or a fuel cell.
  • the communication module 190 may establish a direct (eg wired) communication channel or wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). Establish and perform communication over established communication channels.
  • the communication module 190 may operate independently of the processor 120 (eg, an application processor) and include one or more communication processors supporting direct (eg, wired) or wireless communication.
  • the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a near field communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg It may include a local area network (LAN) communication module, or a power line communication module.
  • GNSS global navigation satellite system
  • the corresponding communication module of these communication modules may be a first network 198 (e.g. a short range communication network such as Bluetooth, WiFi direct or infrared data association (IrDA)) or a second network 199 (e.g. cellular network, the Internet, or Communicate with external electronic devices via a telecommunications network, such as a computer network (eg, LAN or WAN).
  • a first network 198 e.g. a short range communication network such as Bluetooth, WiFi direct or infrared data association (IrDA)
  • a second network 199 e.g. cellular network, the Internet, or Communicate with external electronic devices via a telecommunications network, such as a computer network (eg, LAN or WAN).
  • a telecommunications network such as a computer network (eg, LAN or WAN).
  • the wireless communication module 192 uses subscriber information (e.g., international mobile subscriber identifier (IMSI)) stored in the subscriber identification module 196 in 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 antenna module 197 may transmit or receive a signal or power to an external (eg, an external electronic device) or from the outside.
  • antenna module 197 may include one or more antennas, from which at least one antenna suitable for a communication scheme used in a communication network, such as first network 198 or second network 199, For example, it may be selected by the communication module 190.
  • the signal or power may be transmitted or received between the communication module 190 and the external electronic device through the at least one selected antenna.
  • peripheral devices eg, a bus, a general purpose input and output (GPIO), a serial peripheral interface (SPI), or a mobile industry processor interface (MIPI)
  • GPIO general purpose input and output
  • SPI serial peripheral interface
  • MIPI mobile industry processor interface
  • the command 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 electronic devices 102 and 104 may be a device of the same or different type as the electronic device 101.
  • all or part of operations executed in the electronic device 101 may be executed in one or more external devices among the external electronic devices 102, 104, or 108. For example, when the electronic device 101 needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device 101 instead of executing the function or service itself.
  • one or more external electronic devices may be requested to perform at least a part of the function or the service.
  • the one or more external electronic devices that receive the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit a result of the execution to the electronic device 101.
  • the electronic device 101 may process the result as it is or additionally and provide it as at least part of a response to the request.
  • cloud computing distributed computing, or client-server computing technology. This can be used.
  • the camera module 180 may include a lens assembly 210, a flash 220, an image sensor 230, an image stabilizer 240, a memory 250 (eg, a buffer memory), or an image signal processor. 260 may include.
  • the lens assembly 210 may collect light emitted from a subject that is a target of image capturing.
  • the lens assembly 210 may include one or more lenses.
  • the camera module 180 may include a plurality of lens assemblies 210. In this case, the camera module 180 may be, for example, a dual camera, a 360 degree camera, or a spherical camera.
  • the plurality of lens assemblies 210 have the same lens properties (eg, angle of view, focal length, auto focus, f number, or optical zoom), or at least one lens assembly is at least as different as the lens lens assembly. It can have one different lens property.
  • the lens assembly 210 may include, for example, a wide angle lens or a telephoto lens.
  • the flash 220 may emit a light source used to enhance light emitted from a subject. Flash 220 may include one or more light emitting diodes (eg, red-green-blue (RGB) LEDs, white LEDs, infrared LEDs, or ultraviolet LEDs), or xenon lamps.
  • RGB red-green-blue
  • the image sensor 230 may acquire an image corresponding to the subject by converting light transmitted from the subject through the lens assembly 210 into an electrical signal.
  • the image sensor 230 is the same as one image sensor selected from among image sensors having different properties, such as, for example, an RGB sensor, a black and white (BW) sensor, an IR sensor, or a UV sensor.
  • image sensors having different properties such as, for example, an RGB sensor, a black and white (BW) sensor, an IR sensor, or a UV sensor.
  • Each image sensor included in the image sensor 230 may be implemented as, 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 responds to the movement of the camera module 180 or the inspection device 101 including the lens to compensate for at least some of the negative effects (eg, image shaking) caused by the movement on the captured image.
  • At least one lens or image sensor 230 included in the assembly 210 may be moved or controlled (eg, adjusting read-out timing, etc.) in a specific direction.
  • the image stabilizer 240 may be implemented as, for example, an optical image stabilizer, and may include a gyro sensor (not shown) or an acceleration sensor (not shown) disposed inside or outside the camera module 180. ) To detect the movement.
  • 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, if the image acquisition by the shutter is delayed or a plurality of images are obtained at high speed, the obtained original image (eg, a high resolution image) is stored in the memory 250 and a corresponding copy thereof. An image (eg, a low resolution image) may be previewed through the display device 160. Thereafter, if a specified condition is satisfied (eg, a user input or a system command), at least a part of the original image stored in the memory 250 may be acquired and processed by, for example, the image signal processor 260. According to an embodiment, the memory 250 may be configured as a separate memory operated as at least a part of the memory 130 or independently of the memory 130.
  • the image signal processor 260 may perform image processing (eg, depth map generation, three-dimensional modeling, panorama generation, feature point extraction) on an image acquired through the image sensor 230 or an image stored in the memory 250.
  • Image compositing, or image compensation e.g., noise reduction, resolution adjustment, brightness adjustment, blurring, sharpening, or softening.
  • the 260 may perform control (eg, exposure time control, readout timing control, etc.) of at least one of the components included in the camera module 180 (eg, the image sensor 230).
  • Images processed by the signal processor 260 may be stored back in the memory 250 for further processing or may be external components of the camera module 180 (eg, the memory 130, the display device 160, the electronic device). 102, the electronic device 104, or the server 108.
  • the image signal processor 260 may be configured as at least a portion of the processor 120, or may be connected to the processor 120. In the case of a separate processor, the images processed by the image signal processor 260 are processed by the processor 120 as it is or after additional image processing. 160 may be displayed.
  • the inspection apparatus 101 may include two or more camera modules 180 each having different properties or functions.
  • at least one camera module 180 may be a wide angle camera or a front camera
  • at least one other camera module may be a telephoto camera or a rear camera.
  • FIG. 3 is a block diagram of an electronic device according to various embodiments of the present disclosure.
  • the electronic device 300 may include a lens unit 311 (eg, the lens assembly 210 of FIG. 2), Camera module 310 including image sensor 313 (eg, image sensor 230 of FIG. 2), processor 320 (eg, processor 120 of FIG. 1), and memory 330 (eg, FIG. Memory 130 of FIG. 1).
  • lens unit 311 eg, the lens assembly 210 of FIG. 2
  • Camera module 310 including image sensor 313 (eg, image sensor 230 of FIG. 2), processor 320 (eg, processor 120 of FIG. 1), and memory 330 (eg, FIG. Memory 130 of FIG. 1).
  • the camera module 310 may generate an image by using light emitted from the external object 350, which is a target of image capturing.
  • the camera module 310 may capture both a still image and a video, but there is no limitation thereto.
  • the lens unit 311 may collect light emitted from the external object 350.
  • the lens unit 311 may include a plurality of lenses, and may include various lenses such as a wide angle lens, a narrow angle lens, and a fisheye lens.
  • the image sensor 313 may acquire an image corresponding to the external object 350 by converting light collected by the lens unit 311 into an electrical signal.
  • the image generated by the image sensor 313 may be a raw image.
  • the image sensor 313 includes an image circle in which light corresponding to the external object 350 passes through the lens unit 311 and is formed on the surface of the image sensor 313. It may be included in a part of), and not included in the other part of the image sensor 313.
  • the image circle may mean a virtual line implemented in a circle on the image.
  • the shape of the image circle may be circular, but is not limited to circular and may have various shapes.
  • the raw image may be configured in various formats (eg, Bayer format, etc.).
  • the raw image may be represented by one of R (red), G (green), and B (blue) color with respect to the pixel of the image sensor 313, and has a bit depth of 8 to 16 bits (Bit) Bit-Depth).
  • CFA color filter array
  • the raw image may be a raw image of a layer structure including various color information (for example, a plurality of colors of R, G, and B) for one pixel.
  • color information eg, RGB
  • phase difference information may be included.
  • Information related to capturing an image eg, time, location, illuminance, etc.
  • the raw image is an image generated by the image sensor 313 and may mean an image in which image compression is not performed.
  • the original image may increase in size as the resolution supported by the camera module 310 increases. If the size of the raw image increases, the time required for image processing for the raw image may increase. There is a need for a technique for efficiently compressing a raw image while reducing the size of the raw image and substantially maintaining the quality of the raw image.
  • a block to be compressed and a block not to be compressed may be distinguished from a plurality of blocks constituting the raw image.
  • a plurality of straight lines included in a direction mode used for intra prediction of the raw image may be changed into a curve having a curvature.
  • the curvature may be determined based on the distortion parameter of the raw image generated due to the characteristics of the lens optics.
  • the processor 320 may acquire an image corresponding to the external object 350 using the image sensor 313.
  • the image corresponding to the external object 350 is a raw image and may be in an uncompressed state.
  • the processor 320 may determine an area corresponding to the image circle in the image.
  • the image circle may mean a virtual line implemented in a circle on the image.
  • the shape of the image circle may be circular, but is not limited to circular and may have various shapes.
  • the processor 320 may perform compression on blocks included in the image circle among the plurality of blocks included in the image.
  • the processor 320 may not perform compression on blocks that are not included in the image circle among the plurality of blocks included in the image. Blocks not included in the image circle may not be used for image processing. To this end, the processor 320 may set the pixel value allocated to each of the blocks not included in the image circle to zero. The image circle will be described later with reference to FIGS. 4A to 4B.
  • the processor 320 may perform compression on a plurality of blocks included in the image.
  • the image compression method may be divided into inter prediction and intra prediction.
  • inter-screen prediction may mean a technique of predicting a pixel value included in a current frame from a previous frame of a current frame or a subsequent frame of the current frame among a plurality of frames included in the video.
  • intra prediction may refer to a technique of predicting pixel values included in an image by using pixel information in the image.
  • the memory 350 may store a direction mode used for the intra prediction.
  • the memory 350 may store a direction mode implemented differently according to the distortion parameter of the lens unit 311.
  • the distortion parameter may refer to a degree of distortion of a portion of the lens due to the optical characteristics of the lens assembly (eg, the lens assembly 210 of FIG. 2) included in the lens unit 311. For example, as the value of the distortion parameter increases, distortion of a portion of the lens unit 311 corresponding to the distortion parameter may increase.
  • the processor 320 may be configured to minimize a residual value that is a difference between a pixel value of a reference pixel and a pixel value of each of the pixels of the pixels except for the reference pixel. Intra-prediction of each of the plurality of directions included in the mode may be performed. The processor 320 may select a direction having a minimum value of the residual value among the plurality of directions included in the direction mode, and perform image compression using the selected direction.
  • the image of the external object 350 may cause distortion of a portion of the image due to the characteristics of the lens unit 311.
  • the distortion of a part of the image may occur due to a difference between the refractive index of the center of the lens unit 311 and the refractive index of the outer portion of the lens unit 311.
  • the degree of distortion of the image portion corresponding to the outer portion of the lens portion 311 is less than the degree of distortion of the image portion corresponding to the center portion of the lens portion 311. Can be large.
  • the image portion corresponding to the outer portion of the lens portion 311 may be distorted in a spherical shape, and when performing the intra-prediction of the image portion corresponding to the outer portion of the lens portion 311, the lens portion 311 When using a direction mode used for intra prediction of an image portion corresponding to the center portion, the residual value may increase. When the residual value increases, the size of the compressed image becomes large, and the efficiency of compression may decrease.
  • the memory 350 may store a plurality of direction modes designated for each distortion parameter value indicating the degree of distortion.
  • the plurality of direction modes may include lines having different curvatures in response to the distortion parameter.
  • the curvature may be determined based on the distortion parameter of the raw image.
  • the curvature of the lines included in the direction mode corresponding to the distortion parameter indicating that large distortion occurs may be greater than the curvature of the lines included in the direction mode corresponding to the distortion parameter indicating that small distortion occurs.
  • the distortion parameter may be differently determined for each part of the lens by the optical characteristics of the part of the lens.
  • Some regions of the lens unit 311 may have different distortion parameters.
  • the optical characteristics of the outer portion of the lens unit 311 and the optical characteristics of the central region of the lens unit 311 may be different.
  • the distortion parameter of the center region of the lens unit 311 may be different from the distortion parameter of the region located outside the lens unit 311.
  • the distortion parameter may be determined based on a distance between the center of the lens unit 311 and an area corresponding to the distortion parameter.
  • the distortion parameter may be measured by the manufacturer at the time of manufacture of the lens unit 311, and the measured distortion parameter may be included in the information of the lens unit 311 in the memory 350 and stored.
  • the direction mode may be implemented such that the curvature of the lines included in the direction mode varies according to the distance between the center of the lens unit 311 and a partial region of the lens unit 311.
  • a lens eg, a field of view (FOV) having a large field of view (FOV) having a larger distortion
  • the direction mode is included in the direction mode as the distance between the center of the lens portion 311 and a partial region of the lens portion 311 increases. It can be implemented to increase the curvature of the lines.
  • the processor 320 may select a block to perform intra prediction from among a plurality of blocks included in the image.
  • the block to perform intra prediction may be one of blocks included in the image circle.
  • the processor 320 may identify a partial region of the lens unit 311 corresponding to the selected block, and may determine the memory 350 based on the distortion parameter corresponding to the partial region of the lens unit 311. Among the direction modes stored in), the direction mode to be used for intra prediction of the selected block may be determined.
  • the processor 320 may perform intra prediction on the selected block by using the determined direction mode.
  • the processor 320 may determine the direction in which compression to minimize the residual value by performing intra prediction.
  • the processor 320 may compress an image based on an intra prediction result and generate a compressed image.
  • the electronic device 300 may classify a block to perform compression and a block not to perform compression among a plurality of blocks constituting the raw image, and compress only a block to perform compression.
  • the block not to perform compression may reduce the size of the compressed image by not performing image processing.
  • the electronic device 300 may select a block to be compressed and a block not to be compressed from among a plurality of blocks constituting the raw image. Can be distinguished.
  • the processor 320 may identify a distortion parameter corresponding to a block to perform intra prediction among a plurality of blocks included in the image.
  • the processor 320 may determine a direction mode corresponding to the distortion parameter, and perform intra prediction using the determined direction mode.
  • the processor 320 can reduce the residual value and perform efficient compression by using the direction mode in consideration of the degree of distortion of the lens.
  • the electronic device 300 may transmit a compressed image to an external electronic device (eg, the electronic device 104 of FIG. 1) (eg, the communication module 190 of FIG. 1). ) May be further included.
  • the processor 320 may transmit the compressed image to the external electronic device 104 using the communication module 190.
  • the external electronic device 104 may receive the compressed image and perform various image processing on the compressed image. An image on which image processing is performed may be transmitted to the electronic device 300 through the communication module 190.
  • 4A to 4B are diagrams illustrating embodiments of determining a block to perform compression on an acquired image in an electronic device according to various embodiments of the present disclosure.
  • FIG. 4A illustrates an image 400 taken by the image sensor 313 of the electronic device 300 using the lens unit 311 implemented by a fish eye lens, according to various embodiments of the present disclosure. have.
  • the image 400 may include a first portion 410 photographed in the form of a sphere and a second portion 415 existing outside the first portion 410.
  • the first part 410 may include important information including an external object, and the second part 415 may not include important information included in an image or may be omitted.
  • the image 400 may be a raw image generated by an image sensor (eg, the image sensor 313 of FIG. 3).
  • the processor may identify a portion of the image 400 corresponding to the image circle 413.
  • the image circle 413 may refer to a region formed by light passing through the lens unit (eg, the lens unit 311 of FIG. 3).
  • the image circle 413 may include the first portion 410 and may not include the second portion 415.
  • the image circle 413 may be the same size as the first portion 410.
  • the image circle 413 is implemented in the form of a circle. However, depending on the shape of the lens, the image circle 413 may be implemented in a form other than the form of the circle.
  • the processor 320 may determine a block to perform compression.
  • the processor 320 may determine to compress the block 420-b including at least a portion of the area included in the image circle 413.
  • the processor 320 may determine a block not to perform compression.
  • the processor 320 may determine not to compress the block 420-a including an area not included in the image circle 413.
  • the processor 320 may determine not to perform the compression on the block 420-a including an area not included in the image circle 413, and may not include the compressed image.
  • the processor 320 compresses a block included in the image circle 413 and does not compress a block not included in the image circle 413. Reduce the time required to
  • FIG. 4B illustrates an image 430 taken by the image sensor 313 of the electronic device 300 using the lens unit 311 implemented by two fish eye lenses, according to various embodiments of the present disclosure. It is shown.
  • the image 430 may include a first portion 440 and a second portion 450 photographed in the form of a sphere, and may be formed outside the first portion 440 and the second portion 450. It may include three portions 470.
  • the first part 440 and the second part 450 may include important information including an external object, and the third part 470 may include important information included in an image (eg, an external object). It may not be, it may be a part that can be omitted.
  • the image 430 may be a raw image generated by an image sensor (eg, the image sensor 313 of FIG. 3).
  • the processor may identify a portion of the image 430 corresponding to the image circle 443.
  • the processor 320 may determine a block to perform compression.
  • the processor 320 may determine to compress the block 460-b including at least a portion of the area included in the image circle 443.
  • the processor 320 may determine a block not to perform compression.
  • the processor 320 may determine not to perform compression on the block 460-a including an area not included in the image circle 443.
  • the processor 320 may determine not to perform the compression on the block 460-a including an area not included in the image circle 443, and may not include the compressed image.
  • the processor 320 compresses a block included in the image circle 443 and does not compress a block not included in the image circle 443. Reduce the time required to
  • 5A to 5B illustrate an example of determining a distortion parameter of a lens in an electronic device according to various embodiments of the present disclosure.
  • FIG. 5A illustrates a pattern 500 for determining a distortion parameter of a lens unit (eg, the lens unit 311 of FIG. 3), and FIG. 5B illustrates an image sensor (eg, the image sensor 313 of FIG. 3). ) Is an image 540 obtained by using light reflected from the pattern 500 illustrated in FIG. 5A and passing through the lens unit 311.
  • a lens unit eg, the lens unit 311 of FIG. 3
  • FIG. 5B illustrates an image sensor (eg, the image sensor 313 of FIG. 3).
  • the pattern 500 may be formed of straight lines.
  • the pattern 500 may be divided into a plurality of blocks by straight lines, and the pattern 500 may include a first block 510, a second block 520, and a third block 530.
  • the image sensor 313 may acquire the image 540 corresponding to the pattern 500 by converting the light collected by the lens unit 311 into an electrical signal.
  • the lens unit 311 may have a characteristic of acquiring a distorted image according to an optical characteristic (various characteristics including a viewing angle, refractive index, or distortion aberration).
  • the lens unit 311 may have a characteristic that the degree of distortion is different according to the position on the lens included in the lens unit 311.
  • the degree of distortion of the image portion corresponding to the outer portion of the lens portion 311 is determined by the image portion corresponding to the center portion of the lens portion 311. May be greater than the degree of distortion.
  • the first block 510, the second block 530, and the third block 540 may be disposed at positions far from the central portion 501 in order, and the third block 530 may cause the greatest distortion.
  • the second block 520 may have a larger distortion than the first block 510.
  • At least one or more blocks included in the image 540 may be assigned a distortion parameter.
  • the distortion parameter may be a parameter representing the degree to which the block is distorted. For example, the larger the distortion parameter, the greater the distortion of the block.
  • the distortion parameter may be determined in various ways that may indicate the degree of distortion of the block.
  • the curvature of one line constituting the block may be calculated, and the distortion parameter may be determined according to the magnitude of the curvature.
  • the change in the area of the block may be calculated, and the distortion parameter may be determined according to the change in the area of the block.
  • the distortion parameter may be determined differently for each part of the lens.
  • Some regions of the lens unit 311 may have different distortion parameters.
  • the distortion parameter of the center region of the lens unit 311 may be different from the distortion parameter of the region located outside the lens unit 311.
  • the distortion parameter may be determined based on a distance between the center of the lens unit 311 and an area corresponding to the distortion parameter.
  • the distortion parameter may be measured by the manufacturer at the time of manufacture of the lens unit 311, and the measured distortion parameter may be included in the information of the lens unit 311 in the memory 350 and stored.
  • 5C to 5E illustrate a direction mode used to perform intra prediction in an electronic device according to various embodiments of the present disclosure.
  • Intra-prediction may be performed using a different direction mode based on the distortion parameter corresponding to each of them.
  • the processor 320 may divide an image into a plurality of blocks and select a block to perform intra prediction.
  • the processor 320 may check the distortion parameter of the partial region of the lens unit 311 corresponding to the selected block.
  • the processor 320 may determine a direction mode corresponding to the identified distortion parameter, and perform intra prediction on the selected block by using the determined direction mode.
  • 5C through 5E illustrate various direction modes stored in a memory (eg, the memory 350 of FIG. 3).
  • FIG. 5C illustrates a first direction mode 550 used for intra prediction of the first block 510.
  • the first direction mode 550 used for intra prediction may include a plurality of straight lines having a specific direction or angle.
  • the processor 320 may use the first direction mode 550 when performing intra prediction on the first block 510, which is a block in which little distortion occurs.
  • the processor 320 performs the intra prediction in the direction indicated by the 33 straight lines included in the first direction mode 550 (33 directional modes) and the non-directional mode (DC mode, Planner mode).
  • the prediction may be performed, and one of the 35 modes included in the first direction mode 550 may be determined to have the smallest residual value.
  • the processor 320 may perform image compression on the first block 510 using the determined mode.
  • FIG. 5D illustrates a second direction mode 560 used for intra prediction of the second block 520.
  • the second direction mode 560 used for intra prediction may include curves having a specific curvature.
  • the second block 520 is the first block 510 due to a difference between the optical characteristics of the partial region of the lens corresponding to the second block 520 and the optical characteristics of the partial region of the lens corresponding to the first block 510. ),
  • the distortion of the image may be greater.
  • the distortion parameter corresponding to the second block 520 may be greater than the distortion parameter corresponding to the first block 510.
  • a residual value may increase in an intra prediction mode using a straight line.
  • the processor 320 may perform intra prediction on a block in which distortion occurs by using a direction mode including curves, and acquire a compressed image having a reduced residual value. Can be.
  • the second direction mode 560 when the processor 320 performs the intra prediction on the second block 520, which is a block in which distortion is greater than that of the first block 510, the second direction mode 560 is performed. Can be used.
  • the processor 320 performs the intra prediction in the direction indicated by the 33 curves included in the second direction mode 560 (33 directional modes) and the screen using the non-directional mode (DC mode, Planner mode).
  • the prediction may be performed, and one of the 35 modes included in the second direction mode 560 may be determined to have the smallest residual value.
  • the processor 320 may perform image compression on the second block 520 using the determined mode.
  • FIG. 5E is a diagram illustrating a third direction mode 570 used for intra prediction of the second block 530.
  • the third direction mode 570 used for intra prediction may include curves having a specific curvature.
  • the third block 530 may have a greater degree of distortion of the image than the first block 510 and the second block 520.
  • the distortion parameter corresponding to the third block 530 may be greater than the distortion parameter corresponding to the second block 520 and the distortion parameter corresponding to the first block 510.
  • the curvature of the curves included in the third direction mode 570 is the second direction mode 560. You can see that the curvature of the included curves is larger than the curvature.
  • the direction mode may be implemented such that the curvature of the lines included in the direction mode varies according to the distance between the center of the lens unit 311 and a partial region of the lens unit 311.
  • a lens eg, a field of view (FOV) having a large field of view (FOV) having a larger distortion
  • the direction mode is included in the direction mode as the distance between the center of the lens portion 311 and a partial region of the lens portion 311 increases. It can be implemented to increase the curvature of the lines.
  • the processor 320 may use the third direction mode 570 when performing the intra prediction on the third block 530.
  • the processor 320 performs the intra prediction in the direction indicated by the 33 curves included in the third direction mode 570 (33 directional modes) and the non-directional mode (DC mode, Planner mode).
  • the prediction may be performed, and one of the 35 modes included in the third direction mode 570 may be determined to have the smallest residual value.
  • the processor 320 may perform image compression on the third block 530 using the determined mode.
  • the curvature of the lines included in the direction mode may be determined based on the degree of distortion.
  • the curvature of the lines included in the direction mode used for intra prediction of a block having a large degree of distortion may be larger than that of other blocks.
  • the present invention is not limited thereto.
  • the number of directional modes may be adjusted in consideration of the performance of the electronic device 300.
  • 5F to 5H are diagrams illustrating embodiments of performing intra prediction using a direction mode in consideration of a distortion parameter in an electronic device according to various embodiments of the present disclosure.
  • FIG. 5F illustrates an image captured by the image sensor 313 of the electronic device 300 using the lens unit 311 implemented as a fish eye lens, according to various embodiments of the present disclosure.
  • An image captured by using the lens unit 311 implemented as a fisheye lens may have a larger distortion as the distance from the center of the lens unit 311 increases.
  • the road 573 included in the image has a straight line shape, it may be confirmed that the road 573 is photographed at an outer portion of the lens unit 311 and is distorted into a spherical shape.
  • 5G and 5H illustrate embodiments of performing intra prediction on one block 580 of the image illustrated in FIG. 5F.
  • the processor may perform intra prediction on the block 580 in which the distortion of the image is large.
  • a conventional intra screen prediction method using a straight line direction is illustrated in FIG. 5G, and an intra screen prediction method considering intra screen distortion according to various embodiments of the present disclosure is illustrated in FIG. 5H.
  • the intra prediction method performed in the straight line direction 581 may increase the residual value by performing comparison between dissimilar pixels.
  • the residual value may be reduced by performing comparison between similar pixels.
  • An electronic device may be used for intra prediction of a lens unit, an image sensor, and an image photographed using the image sensor, and differently set according to characteristics of some regions of the lens unit.
  • a memory for storing a direction mode;
  • a processor wherein the processor acquires a raw image corresponding to an external object by using the image sensor, divides the raw image into a plurality of blocks, and displays a screen among the plurality of blocks.
  • Select a block to perform the prediction determine a direction mode to be used for intra prediction of the selected block based on the distortion parameter of the partial region of the lens unit corresponding to the selected block, based on the determined direction mode
  • Intra-prediction of the selected block may be performed, and a compressed image corresponding to the raw image may be generated based on the intra-prediction result.
  • the processor may determine a partial region of the lens unit corresponding to the selected block based on relative position information between the selected block and the center of the raw image, and determine the determined portion.
  • a direction mode corresponding to an area may be selected, and an intra prediction may be performed on the selected block based on the selected direction mode.
  • the processor may include a difference value between a pixel value corresponding to a reference pixel among pixels included in the selected block and a pixel value corresponding to a reference pixel existing around the reference pixel It may be set to select one of the plurality of directions included in the selected direction mode based on, and to perform an intra prediction on the selected block by using the selected direction.
  • the direction mode may be implemented such that a curvature of a line included in the direction mode varies according to the distortion parameter.
  • the direction mode may be implemented such that a curvature of a line included in the direction mode varies according to a distance between a center of the lens unit and a center of a portion of the lens unit.
  • the lens unit when the lens unit includes a telephoto lens and the distance between the center of the lens unit and the center of a portion of the lens unit is increased, the curvature of the line included in the direction mode is increased. It can be set to.
  • an electronic device may further include a communication module configured to transmit the compressed image to an external electronic device, wherein the electronic device is an image generated by the external electronic device performing image processing on the compressed image. It may be set to receive using the communication module.
  • An electronic device may include a lens unit; An image sensor, wherein the image sensor is arranged such that an image circle in which light corresponding to an external object passes through the lens unit is formed on the surface of the image sensor, including a part of the image sensor and no other part of the image sensor; And a processor, wherein the processor is configured to acquire an image corresponding to the external object, determine an area corresponding to the image circle in the image, and convert the image into a plurality of blocks.
  • a block included in at least part of the plurality of blocks in the image circle is compressed as part of the compressed image data, and the plurality of blocks Among the blocks not included in the image circle, the block may not be included in the compressed image data and may be set to transmit the compressed image data to an external processor.
  • the processor determines, as part of the compressing operation, a distortion parameter based on a first block included in at least part of the image circle and a center of the image circle.
  • An intra prediction may be performed on the pixel data included in the first block by using a distortion parameter, and the first block may be compressed based on the intra prediction.
  • the processor may be configured to perform the intra prediction using a designated intra prediction angular mode and the distortion parameter.
  • the processor may be configured to determine the distortion parameter based on an angle formed between at least two vertices of the first block and the center.
  • the distortion parameter may be determined based on a distance between the first block and the center of the image circle.
  • the distortion parameter may be used to change the curvature of the prediction direction used for the intra prediction.
  • the lens unit may include a lens having a field of view of 120 degrees or more.
  • the electronic device may further include a communication module for transmitting the compressed image to an external electronic device.
  • An electronic device may be configured such that the external electronic device receives an image generated by performing image processing on the compressed image using the communication module.
  • FIG. 6 is a block diagram of an electronic device and a cloud platform according to various embodiments of the present disclosure.
  • the electronic device 610 may include a camera module 611 (eg, the camera module 310 of FIG. 3) and a display 620 (eg, FIG. 1 may include the display device 160 of FIG. 1, a processor 621 (eg, the processor 320 of FIG. 3), and memories 619 and 622 (eg, the memory 330 of FIG. 3).
  • a camera module 611 eg, the camera module 310 of FIG. 3
  • a display 620 eg, FIG. 1 may include the display device 160 of FIG. 1, a processor 621 (eg, the processor 320 of FIG. 3), and memories 619 and 622 (eg, the memory 330 of FIG. 3).
  • the camera module 611 may include an image sensor 612 (eg, the image sensor 313 of FIG. 3), a processor 613, and a memory 619.
  • the processor 613 may include a raw image processor 614, an image signal processor 615, and an encoder 616.
  • the image sensor 612 may acquire various raw images of a subject.
  • the image sensor 612 may acquire various types of raw images according to a color filter array (CFA) pattern.
  • CFA color filter array
  • DP dual pixel
  • 2PD dual pixel
  • an image including different phase difference (or parallax) information may be acquired in one pixel.
  • Multiple image sensors with the same or different characteristics e.g. dual sensors (e.g. RGB + RGB, RGB + Mono, or Wide + Tele), array sensors (e.g. two or more sensors attached)
  • One or more image sensors 612 can be obtained for a scene.
  • the acquired image sensor 612 may be stored in the memory 622 as it is or through further processing.
  • the image sensor 612 may acquire an image corresponding to the subject by converting light transmitted from the subject through a lens assembly (not shown) into an electrical signal.
  • the image sensor 612 is the same as, for example, one image sensor selected from among image sensors having different properties, such as an RGB sensor, a black and white (BW) sensor, an IR sensor, or a UV sensor.
  • Each image sensor included in the image sensor 612 may be implemented as, 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 camera module 611 may include a lens assembly (eg, lens assembly 210 of FIG. 2), a flash (eg, flash 220 of FIG. 2), an image stabilizer (eg, FIG. 2).
  • the image stabilizer 240 may further include.
  • the lens assembly 210 may collect light emitted from a subject that is a target of image capturing.
  • the lens assembly 210 may include one or more lenses.
  • the camera module 611 may include a plurality of lens assemblies 210.
  • the camera module 611 may be, for example, a dual camera, a 360 degree camera, or a spherical camera.
  • the plurality of lens assemblies (not shown) have the same lens properties (eg, angle of view, focal length, auto focus, f number, or optical zoom), or at least one lens assembly is different from the other lens lens assemblies. It may have at least one other lens property.
  • the lens assembly (not shown) may include, for example, a wide angle lens or a telephoto lens.
  • the flash 210 may emit a light source used to enhance the light emitted from the subject.
  • Flash 220 may include one or more light emitting diodes (eg, red-green-blue (RGB) LEDs, white LEDs, infrared LEDs, or ultraviolet LEDs), or xenon lamps.
  • RGB red-green-blue
  • the image stabilizer 240 may react in response to the movement of the camera module 612 or the electronic device 610 including the same, and may have a negative effect (eg, an image) on the captured image.
  • a negative effect eg, an image
  • the at least one lens or image sensor 612 included in the lens assembly can be.
  • the image stabilizer 240 may be implemented as, for example, an optical image stabilizer, and may include a gyro sensor (not shown) or an acceleration sensor (not shown) disposed inside or outside the camera module 212. ) To detect the movement.
  • the processors 613 and 621 of the electronic device may perform various processes related to image processing.
  • Various image processing modules eg, the raw image processor 614, the image signal processor 615, and the encoder 616) may be included in one processor or may be distributed among the plurality of processors 613 and 621. have.
  • the processor 613 may be located inside the camera module 611 or outside the camera module 611 (eg, the electronic device 610) or one or more servers constituting part of the cloud platform 650, or the like. It can be both inside and outside.
  • Various processes may be performed alone by a processor or distributedly by a plurality of processors.
  • the raw image processor 614 may perform various processing on the raw image acquired by the image sensor 612. Lens distortion compensation may be performed on the raw image or some noise may be removed. Since the raw image may be quite large in size, the raw image processor 614 may perform various processing (eg, down scaling, down sampling, or compression) before storing, processing, or transmitting the raw image. (compression, etc.) can reduce the data size.
  • various processing eg, down scaling, down sampling, or compression
  • the small raw image generator 617 may downscale (eg, reduce the size or decrease the resolution) or downsample (eg, one of a sampled series of samples) the raw image or the like. Taking only a few samples) can produce a small raw image.
  • the raw image compressor 618 may compress a raw image or a small raw image by using various image compression algorithms. As described with reference to FIGS. 5A to 5H, the raw image compressor 618 may compress the raw image or the small raw image by using a plurality of direction modes implemented in consideration of the distortion degree of the raw image.
  • the image signal processor 615 performs various image processing on the raw image by using recipe information including various information about the raw image analyzed by the engine 657. do.
  • the electronic device 610 may receive recipe information from the cloud platform 650 and perform raw image processing based on the recipe information through the image signal processor 615.
  • image processing provided by an embedded image signal processor of the electronic device 610 and image processing using recipe information may be performed in combination.
  • the image processing is performed in the cloud platform 650, the raw image based on the recipe information may be performed through the image signal processor 658 included in the cloud platform 650.
  • the image signal processor 658 included in the cloud platform 650 may receive additional information (eg, a feature vector, etc.) corresponding to the recipe information from the database 652 and use it for image processing.
  • the processed image may be transmitted to the electronic device 610 or stored in the image storage 654 of the cloud platform 650.
  • Image processing may include functions such as white balance, color adjustment, noise reduction, sharpen, detail enhancement, and the like. These functions may be performed for each area of an image based on recipe information.
  • the image signal processor 615 may generate image processing (eg, depth map) on an image acquired through the image sensor 612 or an image stored in the memories 619 and 622. , 3D modeling, panorama creation, feature extraction, image compositing, or image compensation (e.g., noise reduction, resolution adjustment, brightness adjustment, blurring, sharpening, or softening). Additionally or alternatively, the image signal processor 615 may control (eg, exposure time control, or read out) at least one of the components (eg, the image sensor 612) included in the camera module 611. Timing control, etc.) The image processed by the image signal processor 615 may be stored back in the memory 650 for further processing or may be an external component of the camera module 180 (e.g.
  • the image signal processor 615 may include a processor ( It may be composed of at least a portion of the 613, 621, or a separate processor operating independently of the processor 613, 621.
  • the images processed by the image signal processor 615 is a processor 613 and 621 may be displayed on the display 620 as it is or after additional image processing.
  • the encoder 616 may generate an image file (eg, JPEG, MPEG, 360 image, etc.) by encoding the raw image.
  • an image file eg, JPEG, MPEG, 360 image, etc.
  • the electronic device 610 may include a memory 619 inside the camera module 611 and / or a memory 622 outside the camera module 611.
  • the memories 619 and 622 may store a raw image, a small raw image, an image file, an image processed raw image, and the like.
  • the memories 619 and 622 may at least temporarily store at least a portion of the image acquired through the image sensor 612 for the next image processing task. For example, when the image acquisition according to the shutter is delayed or when a plurality of images are acquired at high speed, the obtained original image (eg, a high resolution image) is stored in the memory 619 and 622, and correspondingly A copy image (eg, a low resolution image) may be previewed via the display 620.
  • the memory 619 may be configured as a separate memory operated as at least a part of the memory 622 or independently of the memory 622.
  • the electronic device 610 may include a display 622.
  • the cloud platform 650 may include, as an external device, a processor 651, a database 652, a raw image store 653, and an image store 654.
  • the processor 651 may include an engine (eg, a recognition engine) 655, an encoder 656, a preprocessor 657, and an image signal processor 658.
  • the processor 651 of the cloud platform 650 may perform various processes related to image processing.
  • Various image processing modules eg, the engine 655, the encoder 656, the preprocessor 657, and the image signal processor 658, may be included in one processor or distributed among a plurality of processors.
  • the engine 655 may include various kinds of meaningful information (eg, object recognition, velocity vector, face recognition, segmentation, Perform scene parsing, etc.). Various algorithms for this may be included. As a result of analysis, information (recipe information, recipe information) (e.g., information including segments, layers, vectors, or scene categories, etc.) that can be used to process various images in the image signal processor is generated, stored, or transmitted in association with the image. Can be.
  • meaningful information eg, object recognition, velocity vector, face recognition, segmentation, Perform scene parsing, etc.
  • recipe information e.g., information including segments, layers, vectors, or scene categories, etc.
  • the encoder 656 may generate an image file (eg, JPEG, MPEG, 360 image, etc.) by encoding the raw image.
  • an image file eg, JPEG, MPEG, 360 image, etc.
  • the preprocessor 657 may perform necessary processing before transferring the raw image received from the electronic device 610 to the engine 655 or the image signal processor 658. Decompression of the compressed raw image, simple image quality improvement, de-mosaic processing, or image format change can be performed.
  • the image signal processor 658 performs various image processing on the raw image by using recipe information including various information about the raw image analyzed by the engine 657. do.
  • the electronic device 610 may receive recipe information from the cloud platform 650 and perform raw image processing based on the recipe information through the image signal processor 615.
  • image processing provided by an embedded image signal processor of the electronic device 610 and image processing using recipe information may be performed in combination.
  • the raw image based on the recipe information may be performed through the image signal processor 658 included in the cloud platform 650.
  • the image signal processor 658 included in the cloud platform 650 may receive additional information (eg, a feature vector, etc.) corresponding to the recipe information from the database 652 and use it for image processing.
  • the processed image may be transmitted to the electronic device 610 or stored in the image storage 654 of the cloud platform 650.
  • Image processing may include functions such as white balance, color adjustment, noise reduction, sharpen, detail enhancement, and the like. These functions may be performed for each area of an image based on recipe information.
  • the database 652 may store a feature corresponding to a category of an image.
  • the raw image store 653 can store the raw image.
  • Image store 654 may store image files.
  • FIG. 7 is a diagram illustrating a process of performing an acquired image using a cloud platform 720 or the electronic device 710 in the electronic device 710 according to various embodiments of the present disclosure.
  • the image sensor 711 (eg, the image sensor 313 of FIG. 3) may be configured by converting the light collected by the lens unit 311 into an electrical signal. An image corresponding to the external object 350 may be obtained. The image generated by the image sensor 313 may be a raw image.
  • the raw image is an image generated by the image sensor 313 and may mean an image in which image compression is not performed.
  • the raw image may be image processed on the electronic device 710 or the cloud platform 720.
  • the raw image may be transmitted to the cloud platform 720 or the image signal processor 713 (eg, the image signal processor 615 of FIG. 6).
  • the electronic device 710 may transmit the compressed image obtained by compressing the raw image to the cloud platform 720 in order to reduce the size of data included in the raw image.
  • the image decompressor 721 may decompress the compressed image.
  • the decompressed image may be transmitted to the image signal processor 722 (eg, the image signal processor 615 of FIG. 6).
  • the image signal processor 615 may perform image processing (eg, depth map generation, three-dimensional modeling, panorama generation, feature extraction, image compositing, or image compensation (eg, noise reduction, resolution adjustment) on the decompressed image.
  • image processing eg, depth map generation, three-dimensional modeling, panorama generation, feature extraction, image compositing, or image compensation (eg, noise reduction, resolution adjustment)
  • image processing eg, depth map generation, three-dimensional modeling, panorama generation, feature extraction, image compositing, or image compensation (eg, noise reduction, resolution adjustment)
  • image processing tasks including brightness adjustment, blurring, sharpening, or softening
  • the 723 may be transmitted to the electronic device 710 and stored in the memory 715 of the electronic device 710.
  • the raw image is transmitted to the image signal processor 713, which may perform image processing (eg, depth map generation, three-dimensional modeling, Perform panorama creation, feature point extraction, image compositing, or image compensation (e.g., various image processing tasks including noise reduction, resolution adjustment, brightness adjustment, blurring, sharpening, or softening)
  • image processing e.g., depth map generation, three-dimensional modeling, Perform panorama creation, feature point extraction, image compositing, or image compensation
  • image compensation e.g., various image processing tasks including noise reduction, resolution adjustment, brightness adjustment, blurring, sharpening, or softening
  • the finished image 714 may be generated, and the finished image 714 may be transmitted to the electronic device and stored in the memory 715 of the electronic device 710.
  • the raw image may be an image photographed using at least two camera modules included in the 360 degree camera.
  • the image signal processors 713 and 722 perform warping and stitching operations on at least two images. can do.
  • the cloud platform 720 may have a higher speed of image processing than the electronic device 710 and may rapidly process an image photographed by a 350 degree camera.
  • FIG. 8 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure.
  • the processor may acquire an image corresponding to the external object (eg, the external object 350 of FIG. 3).
  • the image sensor may convert the light collected by the lens unit (eg, the lens unit 311 of FIG. 3) into an electrical signal.
  • An image corresponding to the external object 350 may be obtained.
  • the image generated by the image sensor 313 may be a raw image.
  • the processor 320 may acquire a raw image acquired by the image sensor 313.
  • the processor 320 may determine an area corresponding to the image circle.
  • the image circle may refer to a form in which light corresponding to the external object 350 passes through the lens unit 311 and is formed on the surface of the image sensor 313.
  • the shape of the image circle may be circular, but is not limited to circular and may have various shapes.
  • the processor 320 may divide an image into a plurality of blocks.
  • the plurality of blocks may mean a minimum unit for the processor 320 to perform intra prediction or inter prediction.
  • the processor 320 may determine whether each of the plurality of blocks is at least partially included in the image circle.
  • the processor 320 may determine to perform compression on at least some of the blocks included in the image circle among the plurality of blocks.
  • the processor 320 may determine not to perform compression on blocks among the plurality of blocks that are not included in the image circle.
  • the processor 320 may perform intra prediction on blocks partially included in the image circle.
  • the processor 320 may perform intra prediction using the direction mode determined based on the distortion parameter corresponding to the block.
  • the lines included in the direction mode may have a curvature determined based on the degree of distortion.
  • the curvature may be determined based on the distortion parameter of the raw image generated by the optical characteristics of the lens unit 311.
  • the processor 320 may perform image compression based on an intra prediction result.
  • the processor 320 may use a communication platform (eg, the communication module 190 of FIG. 1) to generate a compressed image generated by performing image compression. Platform 720).
  • a communication platform eg, the communication module 190 of FIG. 1
  • FIG. 9 is a flowchart illustrating a method of operating an electronic device according to another exemplary embodiment of the present disclosure.
  • the processor may acquire a raw image corresponding to the external object (eg, the external object 350 of FIG. 3).
  • the image sensor may convert the light collected by the lens unit (eg, the lens unit 311 of FIG. 3) into an electrical signal.
  • An image corresponding to the external object 350 may be obtained.
  • the image generated by the image sensor 313 may be a raw image.
  • the processor 320 may acquire a raw image acquired by the image sensor 313.
  • the processor 320 may divide the raw image into a plurality of blocks.
  • the plurality of blocks may mean a minimum unit for the processor 320 to perform intra prediction or inter prediction.
  • the processor 320 may select a block to perform intra prediction from among the plurality of blocks.
  • the processor 320 may determine the direction mode based on the distortion parameter of the partial region of the lens corresponding to the selected block.
  • the processor 320 may check the distortion parameter of the partial region of the lens unit 311 corresponding to the selected block.
  • the processor 320 may determine a direction mode corresponding to the identified distortion parameter, and perform intra prediction on the selected block by using the determined direction mode.
  • direction modes mapped to each of a plurality of distortion parameters may be stored in a memory (eg, the memory 330 of FIG. 3) of the electronic device 300.
  • the direction modes may include lines having different curvatures according to the degree of distortion indicated by the distortion parameter. For example, the lines included in the direction mode used for intra prediction of a block having a large amount of distortion may have a larger curvature than the lines included in other direction modes.
  • the curvature may be determined based on the distortion parameter generated due to the optical characteristics of the lens unit 311.
  • the processor 320 may perform intra prediction using the determined direction mode.
  • the processor 320 when performing the intra prediction for the block, performs the intra prediction according to the direction indicated by the plurality of curves included in the determined direction mode (directional mode). In this case, the directional mode having the smallest residual value can be determined.
  • the processor 320 may perform compression of the raw image based on the prediction result.
  • the processor 320 may perform in-screen compression of the raw image using the directional mode having the smallest residual value.
  • the processor 320 may perform compression of the raw image by performing operations 930, 940, and 950 on the plurality of blocks included in the raw image.
  • the processor 320 since the processor 320 performs the intra prediction by considering the distorted degree of the block selected to perform the intra prediction, the processor 320 may generate a compressed image having a small residual, and may be compressed. Can increase the efficiency.
  • the processor 320 may use a communication platform (eg, the communication module 190 of FIG. 1) to generate a compressed image generated by performing image compression. Platform 720).
  • a communication platform eg, the communication module 190 of FIG. 1
  • a method of operating an electronic device may include: obtaining a raw image corresponding to an external object by using an image sensor; Dividing the original image into a plurality of blocks; Selecting a block to perform intra prediction from among the plurality of blocks; Determining a direction mode to be used for intra prediction of the selected block based on a distortion parameter of the partial region of the lens unit corresponding to the selected block; Performing intra prediction on the selected block based on the determined direction mode; And generating a compressed image corresponding to the raw image based on the intra prediction result.
  • the operation of determining the direction mode is a part of the lens unit corresponding to the selected block based on relative position information between the selected block and the center of the raw image. Determining an area; And selecting a direction mode corresponding to the determined partial region.
  • the performing of the intra-screen compression on the selected block may include a pixel value corresponding to a reference pixel among the pixels included in the selected block and a periphery of the reference pixel.
  • the method may include selecting one of a plurality of directions included in the selected direction mode based on a difference value of a pixel value corresponding to a reference pixel present in the.
  • the direction mode may be implemented such that a curvature of a line included in the direction mode varies according to the distortion parameter.
  • Electronic devices may be various types of devices.
  • the electronic device may include, for example, a portable communication device (eg, a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device.
  • a portable communication device eg, a smartphone
  • a computer device e.g., a tablet, or a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a camera
  • a wearable device e.g., a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch
  • first, second, or first or second may be used merely to distinguish a component from other corresponding components, and to separate the components from other aspects (e.g. Order).
  • Some (eg, first) component may be referred to as “coupled” or “connected” to another (eg, second) component, with or without the term “functionally” or “communicatively”.
  • any component can be connected directly to the other component (eg, by wire), wirelessly, or via a third component.
  • module may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit.
  • the module may be an integral part or a minimum unit or part of the component, which performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of this document may include one or more instructions stored on a storage medium (eg, internal memory 136 or external memory 138) that can be read by a machine (eg, electronic device 101). It may be implemented as software (eg, program 140) including the.
  • a processor eg, the processor 120 of the device (eg, the electronic device 101) may call and execute at least one command among one or more instructions stored from the storage medium. This enables the device to be operated to perform at least one function in accordance with the at least one command invoked.
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' means only that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), which is the case when data is stored semi-permanently on the storage medium. It does not distinguish cases where it is temporarily stored.
  • a signal e.g., electromagnetic waves
  • a method may be provided included in a computer program product.
  • the computer program product may be traded between the seller and the buyer as a product.
  • the computer program product may be distributed in the form of a device-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play Store TM ) or two user devices ( Example: smartphones) may be distributed (eg downloaded or uploaded) directly or online.
  • a device-readable storage medium such as a server of a manufacturer, a server of an application store, or a memory of a relay server.
  • each component eg, module or program of the above-described components may include a singular or plural entity.
  • one or more of the aforementioned components or operations may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg, a module or a program
  • the integrated component may perform one or more functions of the component of each of the plurality of components the same as or similar to that performed by the corresponding component of the plurality of components before the integration. .
  • operations performed by a module, program, or other component may be executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations may be executed in a different order, or omitted. Or one or more other actions may be added.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)

Abstract

다양한 실시예에 따른 전자 장치 및 전자 장치의 동작을 제어하는 방법에서, 본 발명의 다양한 실시예에 따른 전자 장치는 렌즈 부, 이미지 센서, 상기 이미지 센서를 이용하여 촬영한 영상의 화면 내 예측(intra prediction)에 이용되고, 상기 렌즈 부의 일부 영역의 특성에 따라서 다르게 설정된 방향 모드를 저장하는 메모리, 및 프로세서를 포함하고, 상기 프로세서는 상기 이미지 센서를 이용하여, 외부 객체에 대응하는 원시 이미지(raw image)를 획득하고, 상기 원시 이미지를 복수의 블록들로 구분하고, 상기 복수의 블록들 중 화면 내 예측을 수행할 블록을 선택하고, 상기 선택된 블록에 대응하는 상기 렌즈 부의 일부 영역의 왜곡 파라미터에 기반하여 상기 선택된 블록의 화면 내 예측에 이용될 방향 모드를 결정하고, 상기 결정된 방향 모드에 기반하여 상기 선택된 블록에 대한 화면 내 예측을 수행하고, 상기 화면 내 예측 결과에 기반하여 원시 이미지에 대응하는 압축 이미지를 생성할 수 있다. 이 밖에, 다양한 실시예들이 가능하다.

Description

영상 압축을 수행하는 전자 장치 및 전자 장치의 동작 방법
본 발명의 다양한 실시예는, 영상 압축을 수행하는 전자 장치 및 전자 장치의 동작 방법에 관한 것이다.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 응용 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 데이터량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 저장하는 경우, 전송 비용과 저장 비용이 증가하게 된다.
영상 데이터가 고해상도, 고품질화 됨에 따라 발생하는 이러한 문제들을 해결하기 위해서 더 높은 해상도 및 화질을 갖는 영상에 대한 영상 압축 기술에 대한 연구가 활발히 진행되고 있다.
최근에는, 360도 카메라, 드론을 이용한 영상 촬영 등 기존에 접할 수 없었던 다양한 상황에서 고품질의 영상 촬영 및 촬영된 영상을 전송하는 상황이 발생할 수 있다. 360도 카메라, 드론을 이용한 영상 촬영에 이용되는 렌즈는 영상에 대한 왜곡이 크게 발생하는 렌즈를 포함할 수 있다.
영상 촬영에 이용되는 렌즈가 어안 렌즈(fish eye lens) 또는 광각 렌즈인 경우, 렌즈의 중심에서 멀어질수록 영상이 구 형태로 왜곡된 형태로 생성될 수 있다.
영상의 왜곡이 크게 발생하는 렌즈를 이용하여 촬영한 이미지에 대한 영상 압축 과정에 포함된 화면 내 예측을 수행하는 경우, 구 형태로 왜곡된 영상의 화면 내 예측에 이용되는 직선형 예측 방식은 화면 내 예측을 통해 생성된 레지듀얼 값이 증가할 수 있다. 레지듀얼 값은 화면 내 예측시 기준 픽셀의 픽셀 값과 기준 픽셀을 제외한 나머지 픽셀들 중 참소 픽셀들 각각의 픽셀 값의 차이를 의미할 수 있다. 레지듀얼 값의 증가는 영상 압축의 효율을 감소시킬 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는 렌즈 부, 이미지 센서, 상기 이미지 센서를 이용하여 촬영한 영상의 화면 내 예측(intra prediction)에 이용되고, 상기 렌즈 부의 일부 영역의 특성에 따라서 다르게 설정된 방향 모드를 저장하는 메모리; 및 프로세서를 포함하고, 상기 프로세서는 상기 이미지 센서를 이용하여, 외부 객체에 대응하는 원시 이미지(raw image)를 획득하고, 상기 원시 이미지를 복수의 블록들로 구분하고, 상기 복수의 블록들 중 화면 내 예측을 수행할 블록을 선택하고, 상기 선택된 블록에 대응하는 상기 렌즈 부의 일부 영역의 왜곡 파라미터에 기반하여 상기 선택된 블록의 화면 내 예측에 이용될 방향 모드를 결정하고, 상기 결정된 방향 모드에 기반하여 상기 선택된 블록에 대한 화면 내 예측을 수행하고, 상기 화면 내 예측 결과에 기반하여 원시 이미지에 대응하는 압축 이미지를 생성하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는 렌즈부; 이미지 센서, 상기 이미지 센서는 외부 객체에 대응하는 광이 상기 렌즈부를 통과하여 상기 이미지 센서 표면에 형성되는 이미지 서클이 상기 이미지 센서의 일부는 포함하고 상기 이미지 센서의 다른 일부는 포함하지 않도록 배치되고; 및 프로세서를 포함하고, 상기 프로세서는, 상기 이미지 센서를 이용하여, 상기 외부 객체에 대응하는 이미지를 획득하고, 상기 이미지에서 상기 이미지 서클에 대응하는 영역을 결정하고, 상기 이미지를 복수의 블록들로 나누어 압축하여 압축된 아미지 데이터를 생성하고, 상기 압축하는 동작의 일부로, 상기 복수의 블록들 중 상기 이미지 서클에 적어도 일부 포함되는 블록은 상기 압축된 이미지 데이터의 일부로서 압축하고, 상기 복수의 블록들 중 상기 이미지 서클에 포함되지 않는 블록은 상기 압축된 이미지 데이터에 포함시키지 않고, 및 상기 압축된 이미지 데이터를 외부의 프로세서로 전송하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법은 이미지 센서를 이용하여, 외부 객체에 대응하는 원시 이미지(raw image)를 획득하는 동작; 상기 원시 이미지를 복수의 블록들로 구분하는 동작; 상기 복수의 블록들 중 화면 내 예측을 수행할 블록을 선택하는 동작; 상기 선택된 블록에 대응하는 상기 렌즈 부의 일부 영역의 왜곡 파라미터에 기반하여 상기 선택된 블록의 화면 내 예측에 이용될 방향 모드를 결정하는 동작; 상기 결정된 방향 모드에 기반하여 상기 선택된 블록에 대한 화면 내 예측을 수행하는 동작; 및 상기 화면 내 예측 결과에 기반하여 원시 이미지에 대응하는 압축 이미지를 생성하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 영상 압축을 수행하는 전자 장치 및 전자 장치의 동작 방법은, 이미지를 구성하는 복수의 블록들 중, 이미지 서클을 적어도 일부 포함하는 블록에 대해서 압축을 수행함으로써, 영상 압축의 속도를 향상시킬 수 있다.
본 발명의 다양한 실시예에 따른 영상 압축을 수행하는 전자 장치 및 전자 장치의 동작 방법은, 화면 내 예측이 수행되는 블록에 대응하는 렌즈의 일부 영역의 왜곡된 정도를 고려한 예측 모드를 이용함으로써, 레지듀얼 값을 감소시킬 수 있고, 영상 압축의 효율을 증가시킬 수 있다.
본 발명의 다양한 실시예에 따른 영상 압축을 수행하는 전자 장치 및 전자 장치의 동작 방법은 압축된 이미지를 클라우드 플랫폼으로 전송하고, 클라우드 플랫폼이 압축된 이미지에 대한 영상 처리를 수행할 수 있다. 전자 장치에 비해 처리 능력이 뛰어난 클라우드 플랫폼을 이용하여 영상 처리를 수행함으로써, 빠른 속도의 영상 처리를 구현할 수 있다.
도 1은 본 발명의 다양한 실시예에 따른 전자 장치의 블록도이다.
도 2는 본 발명의 다양한 실시예에 따른 전자 장치의 카메라 모듈의 블록도이다.
도 3은 본 발명의 다양한 실시예에 따른 전자 장치의 블록도이다.
도 4a 내지 도 4b는 본 발명의 다양한 실시예에 따른 전자 장치에서, 획득한 영상에 대해서 압축을 수행할 블록을 결정하는 실시예를 도시한 도면이다.
도 5a 내지 도 5b는 본 발명의 다양한 실시예에 따른 전자 장치에서, 렌즈의 왜곡 파라미터를 결정하는 실시예를 도시한 도면이다.
도 5c, 도5d, 도 5e, 도 5f, 도 5g 및 도 5h는 본 발명의 다양한 실시예에 따른 전자 장치에서, 화면 내 예측을 수행하는데 이용되는 방향 모드를 도시한 도면이다.
도 6은 본 발명의 다양한 실시예에 따른 전자 장치 및 클라우드 플랫폼의 블록도이다.
도 7은 본 발명의 다양한 실시예에 따른 전자 장치에서, 획득한 영상의 압축 과정을 도시한 도면이다.
도 8은 본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법을 도시한 동작 흐름도이다.
도 9는 본 발명의 다른 실시예에 따른 전자 장치의 동작 방법을 도시한 동작 흐름도이다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)은 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)은, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150) 를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)이 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)은, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 하나 이상의 안테나들을 포함할 수 있고, 이로부터, 제 1 네트워크 198 또는 제 2 네트워크 199와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, or 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다.. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는, 다양한 실시예들에 따른, 카메라 모듈(180)의 블럭도(200)이다. 도 2를 참조하면, 카메라 모듈(180)은 렌즈 어셈블리(210), 플래쉬(220), 이미지 센서(230), 이미지 스태빌라이저(240), 메모리(250)(예: 버퍼 메모리), 또는 이미지 시그널 프로세서(260)를 포함할 수 있다. 렌즈 어셈블리(210)는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리(210)는 하나 또는 그 이상의 렌즈들을 포함할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 복수의 렌즈 어셈블리(210)들을 포함할 수 있다. 이런 경우, 카메라 모듈(180)은, 예를 들면, 듀얼 카메라, 360도 카메라, 또는 구형 카메라(spherical camera)일 수 있다. 복수의 렌즈 어셈블리(210)들은 동일한 렌즈 속성(예: 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나, 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 렌즈 어셈블리와 적어도 하나의 다른 렌즈 속성을 가질 수 있다. 렌즈 어셈블리(210)는, 예를 들면, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다. 플래쉬(220)는 피사체로부터 방출되는 빛을 강화하기 위하여 사용되는 광원을 방출할 수 있다. 플래쉬(220)는 하나 이상의 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 xenon lamp를 포함할 수 있다.
이미지 센서(230)는 피사체로부터 렌즈 어셈블리(210)를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 상기 피사체에 대응하는 이미지를 획득할 수 있다. 일실시예에 따르면, 이미지 센서(230)는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 이미지 센서(230)에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서로 구현될 수 있다.
이미지 스태빌라이저(240)는 카메라 모듈(180) 또는 이를 포함하는 검사 장치(101)의 움직임에 반응하여, 촬영되는 이미지에 대한 상기 움직임에 의한 부정적인 영향(예: 이미지 흔들림)을 적어도 일부 보상하기 위하여 렌즈 어셈블리(210)에 포함된 적어도 하나의 렌즈 또는 이미지 센서(230)를 특정한 방향으로 움직이거나 제어(예: 리드 아웃(read-out) 타이밍을 조정 등)할 수 있다. 일실시예에 따르면, 이미지 스태빌라이저(240)는, 예를 들면, 광학식 이미지 스태빌라이저로 구현될 수 있으며, 카메라 모듈(180)의 내부 또는 외부에 배치된 자이로 센서(미도시) 또는 가속도 센서(미도시)를 이용하여 상기 움직임을 감지할 수 있다.
메모리(250)는 이미지 센서(230)을 통하여 획득된 이미지의 적어도 일부를 다음 이미지 처리 작업을 위하여 적어도 일시 저장할 수 있다. 예를 들어, 셔터에 따른 이미지 획득이 지연되거나, 또는 복수의 이미지들이 고속으로 획득되는 경우, 획득된 원본 이미지(예: 높은 해상도의 이미지)는 메모리(250)에 저장이 되고, 그에 대응하는 사본 이미지(예: 낮은 해상도의 이미지)는 표시 장치(160)을 통하여 프리뷰될 수 있다. 이후, 지정된 조건이 만족되면(예: 사용자 입력 또는 시스템 명령) 메모리(250)에 저장되었던 원본 이미지의 적어도 일부가, 예를 들면, 이미지 시그널 프로세서(260)에 의해 획득되어 처리될 수 있다. 일실시예에 따르면, 메모리(250)는 메모리(130)의 적어도 일부로, 또는 이와는 독립적으로 운영되는 별도의 메모리로 구성될 수 있다.
이미지 시그널 프로세서(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)에 의하여 그대로 또는 추가의 이미지 처리를 거친 후 표시 장치(160)를 통해 표시될 수 있다.
일실시예에 따르면, 검사 장치(101)는 각각 다른 속성 또는 기능을 가진 둘 이상의 카메라 모듈(180)들을 포함할 수 있다. 이런 경우, 예를 들면, 적어도 하나의 카메라 모듈(180)은 광각 카메라 또는 전면 카메라이고, 적어도 하나의 다른 카메라 모듈은 망원 카메라 또는 후면 카메라일 수 있다.
도 3은 본 발명의 다양한 실시예에 따른 전자 장치의 블록도이다.
도 3을 참조하면, 본 발명의 다양한 실시예에 따른 전자 장치(300)(예: 도 1의 전자 장치(101))는 렌즈부(311)(예: 도 2의 렌즈 어셈블리(210)), 이미지 센서(313)(예: 도 2의 이미지 센서(230))를 포함하는 카메라 모듈(310), 프로세서(320)(예: 도 1의 프로세서(120)) 및 메모리(330)(예:도 1의 메모리(130))를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 카메라 모듈(310)은 영상 촬영의 대상인 외부 객체(350)로부터 방출되는 빛을 이용하여 이미지를 생성할 수 있다. 카메라 모듈(310)은 정지된 영상 및 동영상을 모두 촬영할 수 있으며, 이에 대한 제한은 없다.
본 발명의 다양한 실시예에 따르면, 렌즈부(311)는 외부 객체(350)로부터 방출되는 빛을 수집할 수 있다. 렌즈부(311)는 복수의 렌즈들을 포함할 수 있으며, 광각 렌즈, 협각 렌즈, 어안 렌즈와 같은 다양한 렌즈가 포함될 수 있다.
본 발명의 다양한 실시예에 따르면, 이미지 센서(313)는 렌즈부(311)가 수집한 빛을 전기적인 신호로 변환함으로써, 외부 객체(350)에 대응하는 이미지를 획득할 수 있다. 이미지 센서(313)가 생성한 이미지는 원시 이미지(raw image)일 수 있다.
본 발명의 다양한 실시예에 따르면, 이미지 센서(313)는 외부 객체(350)에 대응하는 광이 렌즈부(311)를 통과하여 이미지 센서(313)의 표면에 형성되는 이미지 서클이 이미지 센서(313)의 일부에 포함되고, 이미지 센서(313)의 다른 일부에는 포함되지 않도록 배치될 수 있다. 이미지 서클은 이미지 상에서 원형으로 구현된 가상의 선을 의미할 수 있다. 이미지 서클의 형태는 원형일 수 있으나, 원형에 제한되지 않고 다양한 형태를 가질 수 있다.
본 발명의 다양한 실시예에 따르면, 원시 이미지는 다양한 포맷(예: Bayer 포맷 등)으로 구성될 수 있다. 원시 이미지는 이미지 센서(313)의 픽셀(Pixel)에 대해 R(red), G(green), B(blue) 중 하나의 색으로 표현될 수 있고, 8~16비트(Bit)의 비트 깊이(Bit-Depth)로 표현 가능하다. 원시 이미지에는 다양한 컬러 필터 어레이(CFA, Color Filter Array)패턴이 적용될 수 있다. 원시 이미지는 하나의 픽셀에 대해 여러 가지 색(예: R, G, B 중 복수 의 색) 정보를 포함하는 레이어(Layer) 구조의 원시 이미지일 수 있다. 이미지 센서(313)의 다양한 구성에 따라, 색 정보(예: RGB) 뿐만 아니라, 위상차 정보 등도 포함할 수 있다. 영상의 촬영과 관련된 정보(예: 시간, 위치, 조도 등)는 메타데이터로 생성되어 원시 이미지와 관련하여 저장될 수 있다.
본 발명의 다양한 실시예에 따르면, 원시 이미지는 이미지 센서(313)가 생성한 이미지로, 이미지 압축이 수행되지 않은 이미지를 의미할 수 있다. 원시 이미지는 카메마 모듈(310)이 지원 가능한 해상도가 올라감에 따라서, 원시 이미지의 크기가 증가할 수 있다. 원시 이미지의 크기가 증가하는 경우, 원시 이미지에 대한 이미지 프로세싱에 소요되는 시간이 증가할 수 있다. 원시 이미지의 크기를 감소시키고, 원시 이미지의 품질을 실질적으로 유지하면서, 원시 이미지의 압축을 효율적으로 수행하는 기술이 요구된다.
본 발명의 다양한 실시예에 따르면, 원시 이미지의 압축을 효율적으로 수행하기 위해서, 원시 이미지를 구성하는 복수의 블록들 중, 압축을 수행할 블록과 압축을 수행하지 않을 블록을 구분할 수 있다.
본 발명의 다양한 실시예에 따르면, 원시 이미지의 압축을 효율적으로 수행하기 위해서, 원시 이미지에 대한 화면 내 예측에 이용되는 방향 모드에 포함된 복수의 직선들을 곡률을 가지는 곡선으로 변경할 수 있다. 곡률은 렌즈 광학계의 특성으로 인해 발생하게 되는 원시 이미지의 왜곡 파라미터에 기반하여 결정될 수 있다. 이하, 원시 이미지의 압축을 효율적으로 수행하기 위한 내용에 대해서 서술한다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 이미지 센서(313)를 이용하여 외부 객체(350)에 대응하는 이미지를 획득할 수 있다. 외부 객체(350)에 대응하는 이미지는 원시 이미지이고, 아직 압축되지 않은 상태일 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 이미지에서 이미지 서클에 대응하는 영역을 결정할 수 있다. 이미지 서클은 이미지 상에서 원형으로 구현된 가상의 선을 의미할 수 있다. 이미지 서클의 형태는 원형일 수 있으나, 원형에 제한되지 않고 다양한 형태를 가질 수 있다. 프로세서(320)는 이미지에 포함된 복수의 블록들 중, 이미지 서클에 포함된 블록들에 대한 압축을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 이미지에 포함된 복수의 블록들 중, 이미지 서클에 포함되지 않는 블록들에 대해서는 압축을 수행하지 않을 수 있다. 이미지 서클에 포함되지 않는 블록들은 이미지 처리에 이용하지 않을 수 있다. 이를 위해, 프로세서(320)는 이미지 서클에 포함되지 않는 블록들 각각에 할당된 픽셀 값을 0으로 설정할 수 있다. 이미지 서클에 대해서는 도 4a 내지 도 4b에서 후술한다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 이미지에 포함된 복수의 블록에 대한 압축을 수행할 수 있다. 이미지 압축 방법은 화면 간 예측(inter prediction)과 화면 내 예측(intra prediction)으로 구분될 수 있다.
본 발명의 다양한 실시예에 따르면, 화면 간 예측은 동영상에 포함된 복수의 프레임들 중 현재 프레임의 이전 프레임 또는 현재 프레임의 이후 프레임으로부터 현재 프레임에 포함된 화소 값을 예측하는 기술을 의미할 수 있다.
본 발명의 다양한 실시예에 따르면, 화면 내 예측은 이미지 내의 화소 정보를 이용하여 이미지에 포함된 화소 값을 예측하는 기술을 의미할 수 있다. 화면 내 예측을 수행하기 위해서, 메모리(350)는 화면 내 예측에 이용되는 방향 모드를 저장할 수 있다. 메모리(350)는 렌즈부(311)의 왜곡 파라미터에 따라서 다르게 구현된 방향 모드를 저장할 수 있다. 왜곡 파라미터는 렌즈부(311)에 포함된 렌즈 어셈블리(예: 도 2의 렌즈 어셈블리(210))의 광학적 특성에 의해 렌즈의 일부 영역이 왜곡된 정도를 의미할 수 있다. 예를 들어, 왜곡 파라미터의 값이 커질수록, 왜곡 파라미터에 대응하는 렌즈부(311)의 일부 영역의 왜곡이 커질 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 기준 픽셀의 픽셀 값과 기준 픽셀을 제외한 나머지 픽셀들 중 참소 픽셀들 각각의 픽셀 값의 차이인 레지듀얼(residual) 값을 최소화 하기 위해서, 방향 모드에 포함된 복수의 방향들 각각에 대한 화면 내 예측을 수행할 수 있다. 프로세서(320)는 방향 모드에 포함된 복수의 방향들 중, 레지듀얼 값이 최소 값인 방향을 선택하고, 선택된 방향을 이용하여 이미지 압축을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 외부 객체(350)를 촬영한 이미지는 렌즈부(311)의 특성에 의해 이미지의 일부 영역의 왜곡이 발생할 수 있다.
예를 들면, 이미지의 일부 영역의 왜곡은 렌즈부(311)의 중심의 굴절률과 렌즈부(311)의 외곽의 굴절률이 서로 다른 특성으로 인해 발생할 수 있다. 렌즈부(311)가 광각 렌즈를 포함하는 경우, 렌즈부(311)의 외곽 부분에 대응하는 이미지 부분의 왜곡의 정도는, 렌즈부(311)의 중심 부분에 대응하는 이미지 부분의 왜곡의 정도보다 클 수 있다. 렌즈부(311)의 외곽 부분에 대응하는 이미지 부분은 구 형태로 왜곡될 수 있으며, 렌즈부(311)의 외곽 부분에 대응하는 이미지 부분의 화면 내 예측을 수행하는 경우, 렌즈부(311)의 중심 부분에 대응하는 이미지 부분의 화면 내 예측에 이용되는 방향 모드를 이용하는 경우, 레지듀얼 값이 증가할 수 있다. 레지듀얼 값이 증가하는 경우, 압축된 이미지의 크기가 커지며, 압축의 효율이 감소할 수 있다.
본 발명의 다양한 실시예에 따르면, 메모리(350)는 왜곡의 정도를 지시하는 왜곡 파라미터 값마다 지정된 복수의 방향 모드를 저장할 수 있다. 복수의 방향 모드는 왜곡 파라미터에 대응하여 곡률이 다른 선들을 포함할 수 있다. 곡률은 원시 이미지의 왜곡 파라미터에 기반하여 결정될 수 있다. 큰 왜곡이 발생함을 지시하는 왜곡 파라미터에 대응하는 방향 모드에 포함된 선들의 곡률은 작은 왜곡이 발생함을 지시하는 왜곡 파라미터에 대응하는 방향 모드에 포함된 선들의 곡률보다 클 수 있다.
본 발명의 다양한 실시예에 따르면, 왜곡 파라미터는 렌즈의 일부분이 갖는 광학적 특성에 의해 렌즈의 일부분마다 다르게 결정될 수 있다. 렌즈부(311)의 일부 영역들은 서로 다른 왜곡 파라미터를 가질 수 있다. 예를 들면, 렌즈부(311)의 외곽이 갖는 광학적 특성과 렌즈부(311)의 중심 영역이 갖는 광학적 특성이 상이할 수 있다. 렌즈부(311)의 중심 영역의 왜곡 파라미터는 렌즈부(311)의 외곽에 위치한 영역의 왜곡 파라미터와 상이할 수 있다. 왜곡 파라미터는 렌즈부(311)의 중심과 왜곡 파라미터에 대응하는 영역 사이의 거리에 기반하여 결정될 수 있다. 왜곡 파라미터는 렌즈부(311)의 제조 당시 제조사에 의해 측정될 수 있으며, 측정된 왜곡 파라미터는 메모리(350)에 렌즈부(311)의 정보에 포함되어 저장될 수 있다.
본 발명의 다양한 실시예에 따르면, 방향 모드는 렌즈부(311)의 중심과 렌즈부(311)의 일부 영역 사이의 거리에 따라서 방향 모드에 포함된 선들의 곡률이 달라지도록 구현될 수 있다.
예를 들면, 렌즈부(311)가 렌즈부(311)의 중심에서 멀어질수록 왜곡 현상이 크게 발생하는 렌즈(예를 들면, 화각(field of view, FOV)이 큰 렌즈(예를 들면, 화각이 120도 이상인 렌즈), 망원 렌즈, 또는 어안 렌즈)를 포함하는 경우, 방향 모드는 렌즈부(311)의 중심과 렌즈부(311)의 일부 영역 사이의 거리가 증가함에 따라서 방향 모드에 포함된 선들의 곡률이 증가하도록 구현될 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 이미지에 포함된 복수의 블록들 중 화면 내 예측을 수행할 블록을 선택할 수 있다. 화면 내 예측을 수행할 블록은 이미지 서클에 포함된 블록들 중 하나일 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 선택된 블록에 대응하는 렌즈부(311)의 일부 영역을 확인하고, 렌즈부(311)의 일부 영역에 대응하는 왜곡 파라미터에 기반하여 메모리(350)에 저장된 방향 모드들 중, 선택된 블록의 화면 내 예측에 이용될 방향 모드를 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 결정된 방향 모드를 이용하여 선택된 블록에 대한 화면 내 예측을 수행할 수 있다. 프로세서(320)는 화면 내 예측을 수행함으로써, 레지듀얼 값이 최소화되는 압축을 수행할 방향을 결정할 수 있다. 프로세서(320)는 화면 내 예측 결과에 기반하여 이미지에 대한 압축을 수행하고, 압축된 이미지를 생성할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(300)는 원시 이미지를 구성하는 복수의 블록들 중, 압축을 수행할 블록과 압축을 수행하지 않을 블록을 구분하고, 압축을 수행할 블록에 대해서만 압축을 수행하고, 압축을 수행하지 않을 블록은 이미지 처리를 수행하지 않음으로써, 압축된 이미지의 크기를 감소시킬 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(300)는 원시 이미지의 압축을 효율적으로 수행하기 위해서, 원시 이미지를 구성하는 복수의 블록들 중, 압축을 수행할 블록과 압축을 수행하지 않을 블록을 구분할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 이미지에 포함된 복수의 블록들 중 화면내 예측을 수행할 블록에 대응하는 왜곡 파라미터를 확인할 수 있다. 프로세서(320)는 왜곡 파라미터에 대응하는 방향 모드를 결정하고, 결정된 방향 모드를 이용하여 화면 내 예측을 수행할 수 있다. 프로세서(320)는 렌즈의 왜곡의 정도를 고려한 방향 모드를 이용함으로써, 레지듀얼 값을 감소시킬 수 있고, 효율적인 압축을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(300)는 압축된 이미지를 외부 전자 장치(예: 도 1의 전자 장치(104))로 전송하는 통신 모듈(예: 도 1의 통신 모듈(190))을 더 포함할 수 있다. 프로세서(320)는 통신 모듈(190)을 이용하여 압축된 이미지를 외부 전자 장치(104)로 전송할 수 있다. 외부 전자 장치(104)는 압축된 이미지를 수신하고, 압축된 이미지에 대한 다양한 이미지 처리를 수행할 수 있다. 이미지 처리가 수행된 이미지는 통신 모듈(190)을 통하여 전자 장치(300)에 전송될 수 있다.
도 4a 내지 도 4b는 본 발명의 다양한 실시예에 따른 전자 장치에서, 획득한 영상에 대해서 압축을 수행할 블록을 결정하는 실시예를 도시한 도면이다.
도 4a는 본 발명의 다양한 실시예에 따른 전자 장치(300)의 이미지 센서(313)가 어안 렌즈(fish eye lens)로 구현된 렌즈부(311) 를 이용하여 촬영한 이미지(400)를 도시하고 있다.
도 4a를 참조하면, 이미지(400)는 구의 형태로 촬영된 제 1 부분(410)과 제 1 부분(410)의 외부에 존재하는 제 2 부분(415)을 포함할 수 있다. 제 1 부분(410)은 외부 객체를 포함하는 중요한 정보를 포함할 수 있으며, 제 2 부분(415)은 이미지에 포함되는 중요한 정보를 포함하지 않을 수 있으며, 생략될 수 있는 부분일 수 있다.
본 발명의 다양한 실시예에 따르면, 이미지(400)는 이미지 센서(예: 도 3의 이미지 센서(313))에서 생성한 원시 이미지일 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(예: 도 3의 프로세서(320))는 이미지(400) 내에 이미지 서클(413)에 대응하는 부분을 확인할 수 있다. 이미지 서클(413)은 렌즈부(예: 도 3의 렌즈부(311))를 통과한 빛에 의해 형성된 영역을 의미할 수 있다. 이미지 서클(413)은 제 1 부분(410)을 포함하고, 제 2 부분(415)을 포함하지 않을 수 있다. 또는, 이미지 서클(413)은 제 1 부분(410)과 동일한 크기일 수 있다. 도 4a에서는 이미지 서클(413)이 원형의 형태로 구현되어 있으나, 렌즈의 형태에 따라서, 원형의 형태가 아닌 다른 형태로도 구현될 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 압축을 수행할 블록을 결정할 수 있다. 프로세서(320)는 이미지 서클(413)에 포함되는 영역을 적어도 일부 포함하는 블록(420-b)을 압축을 수행할 것으로 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 압축을 수행하지 않을 블록을 결정할 수 있다. 프로세서(320)는 이미지 서클(413)에 포함되지 않는 영역을 포함하는 블록(420-a)을 압축을 수행하지 않을 것으로 결정할 수 있다. 프로세서(320)는 이미지 서클(413)에 포함되지 않는 영역을 포함하는 블록(420-a)을 압축을 수행하지 않을 것으로 결정하고, 압축된 이미지에 포함시키지 않을 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 이미지 서클(413)에 포함된 블록에 대한 압축을 수행하고, 이미지 서클(413)에 포함되지 않는 블록에 대한 압축을 수행하지 않음으로써, 압축에 소요되는 시간을 감소시킬 수 있다.
도 4b는 본 발명의 다양한 실시예에 따른 전자 장치(300)의 이미지 센서(313)가 두 개의 어안 렌즈(fish eye lens)로 구현된 렌즈부(311)를 이용하여 촬영한 이미지(430)를 도시하고 있다.
도 4b를 참조하면, 이미지(430)는 구의 형태로 촬영된 제 1 부분(440), 제 2 부분(450)과, 제 1 부분(440) 및 제 2 부분(450)의 외부에 존재하는 제 3 부분(470)을 포함할 수 있다. 제 1 부분(440) 및 제 2 부분(450)은 외부 객체를 포함하는 중요한 정보를 포함할 수 있으며, 제 3 부분(470)은 이미지에 포함되는 중요한 정보(예를 들면, 외부 객체)를 포함하지 않을 수 있으며, 생략될 수 있는 부분일 수 있다.
본 발명의 다양한 실시예에 따르면, 이미지(430)는 이미지 센서(예: 도 3의 이미지 센서(313))에서 생성한 원시 이미지일 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(예: 도 3의 프로세서(320))는 이미지(430) 내에 이미지 서클(443)에 대응하는 부분을 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 압축을 수행할 블록을 결정할 수 있다. 프로세서(320)는 이미지 서클(443)에 포함되는 영역을 적어도 일부 포함하는 블록(460-b)을 압축을 수행할 것으로 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 압축을 수행하지 않을 블록을 결정할 수 있다. 프로세서(320)는 이미지 서클(443)에 포함되지 않는 영역을 포함하는 블록(460-a)을 압축을 수행하지 않을 것으로 결정할 수 있다. 프로세서(320)는 이미지 서클(443)에 포함되지 않는 영역을 포함하는 블록(460-a)을 압축을 수행하지 않을 것으로 결정하고, 압축된 이미지에 포함시키지 않을 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 이미지 서클(443)에 포함된 블록에 대한 압축을 수행하고, 이미지 서클(443)에 포함되지 않는 블록에 대한 압축을 수행하지 않음으로써, 압축에 소요되는 시간을 감소시킬 수 있다.
도 5a 내지 도 5b는 본 발명의 다양한 실시예에 따른 전자 장치에서, 렌즈의 왜곡 파라미터를 결정하는 실시예를 도시한 도면이다.
도 5a는 렌즈부(예: 도 3의 렌즈부(311))의 왜곡 파라미터를 결정하기 위한 패턴(500)을 도시한 도면이고, 도 5b는 이미지 센서(예: 도 3의 이미지 센서(313))가 도 5a에 도시된 패턴(500)에서 반사되고, 렌즈부(311)를 통과한 빛을 이용하여 획득한 이미지(540)를 도시한 도면이다.
도 5a를 참조하면, 패턴(500)은 직선들로 구성될 수 있다. 패턴(500)은 직선들에 의해 복수의 블록들로 구분될 수 있으며, 패턴(500)은 제 1 블록(510), 제 2 블록(520) 및 제 3 블록(530)을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 이미지 센서(313)는 렌즈부(311)가 수집한 빛을 전기적인 신호로 변환함으로써, 패턴(500)에 대응하는 이미지(540)를 획득할 수 있다.
본 발명의 다양한 실시예에 따르면, 렌즈부(311)는 광학적인 특성(시야각, 굴절률, 또는 왜곡 수차를 포함하는 다양한 특성)에 따라서, 왜곡된 이미지를 획득하도록 하는 특성을 가질 수 있다. 렌즈부(311)는 렌즈부(311)에 포함된 렌즈 상의 위치에 따라서 왜곡되는 정도가 다른 특성을 가질 수 있다.
예를 들면, 렌즈부(311)가 광각 렌즈를 포함하는 경우, 렌즈부(311)의 외곽 부분에 대응하는 이미지 부분의 왜곡의 정도는, 렌즈부(311)의 중심 부분에 대응하는 이미지 부분의 왜곡의 정도보다 클 수 있다.
도 5b를 참조하면, 이미지(540)는 렌즈부(311)의 중심 부분(501)과 멀어질수록 왜곡이 더 크게 일어날 수 있다. 제 1 블록(510), 제 2 블록(530) 및 제 3 블록(540)은 순서대로 중심 부분(501)과 점점 멀어지는 위치에 배치될 수 있는데, 제 3 블록(530)이 왜곡이 제일 크게 일어날 수 있으며, 제 2 블록(520) 은 제 1 블록(510)에 비해 왜곡이 더 크게 일어날 수 있다.
본 발명의 다양한 실시예에 따르면, 이미지(540)에 포함된 적어도 하나 이상의 블록은 왜곡 파라미터가 할당될 수 있다. 왜곡 파라미터는 블록이 왜곡된 정도를 의미하는 파라미터일 수 있다. 예를 들면, 왜곡 파라미터가 클수록 블록의 왜곡이 더 크게 일어날 수 있다.
본 발명의 다양한 실시예에 따르면, 왜곡 파라미터는 블록의 왜곡의 정도를 나타낼 수 있는 다양한 방식을 통해 결정될 수 있다. 예를 들면, 블록을 구성하는 하나의 선의 곡률을 계산하고, 곡률의 크기에 따라서 왜곡 파라미터를 결정할 수도 있다. 다른 예를 들면, 블록의 면적의 변화를 계산하고, 블록의 면적의 변화에 따라서 왜곡 파라미터를 결정할 수도 있다.
본 발명의 다양한 실시예에 따르면, 왜곡 파라미터는 렌즈의 일부분마다 다르게 결정될 수 있다. 렌즈부(311)의 일부 영역마다 다른 왜곡 파라미터를 가질 수 있다. 예를 들면, 렌즈부(311)의 중심 영역의 왜곡 파라미터는 렌즈부(311)의 외곽에 위치한 영역의 왜곡 파라미터와 상이할 수 있다. 왜곡 파라미터는 렌즈부(311)의 중심과 왜곡 파라미터에 대응하는 영역 사이의 거리에 기반하여 결정될 수 있다. 왜곡 파라미터는 렌즈부(311)의 제조 당시 제조사에 의해 측정될 수 있으며, 측정된 왜곡 파라미터는 메모리(350)에 렌즈부(311)의 정보에 포함되어 저장될 수 있다.
도 5c 내지 도 5e는 본 발명의 다양한 실시예에 따른 전자 장치에서, 화면 내 예측을 수행하는데 이용되는 방향 모드를 도시한 도면이다.
본 발명의 다양한 실시예에 따르면, 프로세서(예: 도 3의 프로세서(320))는 이미지(예: 도 5b의 이미지(540))에 포함된 블록들에 대한 화면 내 예측을 수행하는 경우, 블록들 각각에 대응하는 왜곡 파라미터에 기반하여 서로 다른 방향 모드를 이용하여 화면 내 예측을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 이미지를 복수의 블록으로 나누고, 화면 내 예측을 수행할 블록을 선택할 수도 있다. 프로세서(320)는 선택된 블록에 대응하는 렌즈부(311)의 일부 영역의 왜곡 파라미터를 확인할 수 있다. 프로세서(320)는 확인된 왜곡 파라미터에 대응하는 방향 모드를 결정하고, 결정된 방향 모드를 이용하여 선택된 블록에 대한 화면 내 예측을 수행할 수 있다.
도 5c 내지 도 5e는 메모리(예: 도 3의 메모리(350)))에 저장되어 있는 다양한 방향 모드를 도시한 도면이다.
도 5c는 제 1 블록(510)의 화면 내 예측에 이용되는 제 1 방향 모드(550)를 도시한 도면이다. 도 5c를 참조하면, 화면 내 예측에 이용되는 제 1 방향 모드(550)는 특정한 방향 또는 각도를 갖는 복수의 직선들을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 왜곡이 거의 일어나지 않은 블록인 제 1 블록(510)에 대한 화면 내 예측을 수행할 때, 제 1 방향 모드(550)를 이용할 수 있다. 프로세서(320)는 제 1 방향 모드(550)에 포함된 33개의 직선이 지시하는 방향으로 화면 내 예측을 수행하고(33개의 방향성 모드) 및 비 방향성 모드(DC 모드, Planner 모드)를 이용하여 화면 내 예측을 수행하고, 제 1 방향 모드(550)에 포함된 35개 모드 중 레지듀얼 값이 가장 작은 하나의 모드를 결정할 수 있다. 프로세서(320)는 결정된 모드를 이용하여 제 1 블록(510)에 대한 영상 압축을 수행할 수 있다.
도 5d는 제 2 블록(520)의 화면 내 예측에 이용되는 제 2 방향 모드(560)를 도시한 도면이다. 도 5d를 참조하면, 화면 내 예측에 이용되는 제 2 방향 모드(560)는 특정한 곡률을 갖는 곡선들을 포함할 수 있다. 제 2 블록(520)은 제 2 블록(520)에 대응하는 렌즈의 일부 영역의 광학적 특성과 제 1 블록(510)에 대응하는 렌즈의 일부 영역의 광학적 특성의 차이로 인해서, 제 1 블록(510)에 비해서 영상의 왜곡이 일어난 정도가 클 수 있다. 제 2 블록(520)에 대응하는 왜곡 파라미터가 제 1 블록(510)에 대응하는 왜곡 파라미터 보다 클 수 있다. 영상의 왜곡이 발생한 경우, 직선을 이용하는 화면 내 예측 모드의 경우, 레지듀얼 값이 커질 수 있다. 본 발명의 다양한 실시예에 따르면, 프로세서(320)는 곡선들을 포함하는 방향 모드를 이용하여 왜곡이 발생한 블록에 대한 화면 내 예측을 수행할 수 있고, 레지듀얼 값이 감소된 압축된 영상을 획득할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 제 1 블록(510) 보다 왜곡이 크게 발생한 블록인 제 2 블록(520)에 대한 화면 내 예측을 수행할 때, 제 2 방향 모드(560)를 이용할 수 있다. 프로세서(320)는 제 2 방향 모드(560)에 포함된 33개의 곡선이 지시하는 방향으로 화면 내 예측을 수행하고(33개의 방향성 모드) 및 비 방향성 모드(DC 모드, Planner 모드)를 이용하여 화면 내 예측을 수행하고, 제 2 방향 모드(560)에 포함된 35개 모드 중 레지듀얼 값이 가장 작은 하나의 모드를 결정할 수 있다. 프로세서(320)는 결정된 모드를 이용하여 제 2 블록(520)에 대한 영상 압축을 수행할 수 있다.
도 5e는 제 2 블록(530)의 화면 내 예측에 이용되는 제 3 방향 모드(570)를 도시한 도면이다. 도 5e를 참조하면, 화면 내 예측에 이용되는 제 3 방향 모드(570)는 특정한 곡률을 갖는 곡선들을 포함할 수 있다. 제 3 블록(530)은 제 1 블록(510) 및 제 2 블록(520)에 비해서 영상의 왜곡이 일어난 정도가 클 수 있다. 제 3 블록(530)에 대응하는 왜곡 파라미터가 제 2 블록(520)에 대응하는 왜곡 파라미터 및 제 1 블록(510)에 대응하는 왜곡 파라미터 보다 클 수 있다.
도 5d에 도시된 제 2 방향 모드(560)와 도 5e에 도시된 제 3 방향 모드(570)를 비교하면, 제 3 방향 모드(570)에 포함된 곡선들의 곡률이 제 2 방향 모드(560)에 포함된 곡선들의 곡률보다 더 큼을 확인할 수 있다. 본 발명의 다양한 실시예에 따르면, 방향 모드는 렌즈부(311)의 중심과 렌즈부(311)의 일부 영역 사이의 거리에 따라서 방향 모드에 포함된 선들의 곡률이 달라지도록 구현될 수 있다. 예를 들면, 렌즈부(311)가 렌즈부(311)의 중심에서 멀어질수록 왜곡 현상이 크게 발생하는 렌즈(예를 들면, 화각(field of view, FOV)이 큰 렌즈(예를 들면, 화각이 120도 이상인 렌즈), 망원 렌즈, 또는 어안 렌즈)를 포함하는 경우, 방향 모드는 렌즈부(311)의 중심과 렌즈부(311)의 일부 영역 사이의 거리가 증가함에 따라서 방향 모드에 포함된 선들의 곡률이 증가하도록 구현될 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 제 3 블록(530)에 대한 화면 내 예측을 수행할 때, 제 3 방향 모드(570)를 이용할 수 있다. 프로세서(320)는 제 3 방향 모드(570)에 포함된 33개의 곡선이 지시하는 방향으로 화면 내 예측을 수행하고(33개의 방향성 모드) 및 비 방향성 모드(DC 모드, Planner 모드)를 이용하여 화면 내 예측을 수행하고, 제 3 방향 모드(570)에 포함된 35개 모드 중 레지듀얼 값이 가장 작은 하나의 모드를 결정할 수 있다. 프로세서(320)는 결정된 모드를 이용하여 제 3 블록(530)에 대한 영상 압축을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 방향 모드에 포함된 선들의 곡률은 왜곡된 정도에 기반하여 결정될 수 있다. 왜곡의 정도가 큰 블록의 화면 내 예측에 이용되는 방향 모드에 포함된 선들의 곡률은 다른 블록에 비해서 더 클 수 있다.
도 5c 내지 도 5e에 도시된 방향 모드에 포함된 방향성 모드가 33개인 것으로 서술하였으나, 본 발명은 이에 제한되지 않는다. 전자 장치(300)의 성능을 고려하여 방향성 모드의 수를 조절할 수 있다.
도 5f 내지 도 5h는 본 발명의 다양한 실시예에 따른 전자 장치에서, 왜곡 파라미터를 고려한 방향 모드를 이용하여 화면 내 예측을 수행하는 실시예를 도시한 도면이다.
도 5f는 본 발명의 다양한 실시예에 따른 전자 장치(300)의 이미지 센서(313)가 어안 렌즈(fish eye lens)로 구현된 렌즈부(311)를 이용하여 촬영한 이미지를 도시하고 있다. 어안 렌즈로 구현된 렌즈부(311)를 이용하여 촬영한 이미지는 렌즈부(311)의 중심에서 멀어질수록 왜곡이 더 크게 발생할 수 있다. 예를 들면, 이미지에 포함된 길(573)은 직선 형태를 가지고 있으나, 렌즈부(311)의 외곽 부분에서 촬영되어 구형으로 왜곡됨을 확인할 수 있다.
도 5g 및 도 5h는 도 5f에 도시된 이미지를 구성하는 하나의 블록(580)에 대한 화면 내 예측을 수행하는 실시예를 도시하고 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(예: 도 3의 프로세서(320))는 이미지의 왜곡이 크게 발생한 블록(580)에 대한 화면 내 예측을 수행할 수 있다. 기존의 직선 방향을 이용하는 화면 내 예측 방식은 도 5g에 도시되어 있으며, 본 발명의 다양한 실시예에 따른 화면 내 왜곡을 고려한 화면 내 예측 방식은 도 5h에 도시되어 있다.
도 5g에 도시된 바와 같이 직선 방향(581)으로 수행하는 화면 내 예측 방식은 유사하지 않은 픽셀들 간 비교를 수행함으로써, 레지듀얼 값이 커질 수 있다. 반면에, 도 5h에 도시된 바와 같이, 화면 내 왜곡을 고려하여 곡선 방향(583)으로 수행되는 화면 내 예측 방식은, 유사한 픽셀들 간 비교를 수행함으로써, 레지듀얼 값이 작아질 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는, 렌즈 부, 이미지 센서, 상기 이미지 센서를 이용하여 촬영한 영상의 화면 내 예측(intra prediction)에 이용되고, 상기 렌즈 부의 일부 영역의 특성에 따라서 다르게 설정된 방향 모드를 저장하는 메모리; 및 프로세서를 포함하고, 상기 프로세서는 상기 이미지 센서를 이용하여, 외부 객체에 대응하는 원시 이미지(raw image)를 획득하고, 상기 원시 이미지를 복수의 블록들로 구분하고, 상기 복수의 블록들 중 화면 내 예측을 수행할 블록을 선택하고, 상기 선택된 블록에 대응하는 상기 렌즈 부의 일부 영역의 왜곡 파라미터에 기반하여 상기 선택된 블록의 화면 내 예측에 이용될 방향 모드를 결정하고, 상기 결정된 방향 모드에 기반하여 상기 선택된 블록에 대한 화면 내 예측을 수행하고, 상기 화면 내 예측 결과에 기반하여 원시 이미지에 대응하는 압축 이미지를 생성하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 선택된 블록과 상기 원시 이미지의 중심 사이의 상대적 위치 정보에 기반하여 상기 선택된 블록에 대응하는 상기 렌즈부의 일부 영역을 결정하고, 상기 결정된 일부 영역에 대응하는 방향 모드를 선택하고, 상기 선택된 방향 모드에 기반하여 상기 선택된 블록에 대한 화면 내 예측을 수행하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 프로세서는 상기 선택된 블록에 포함된 픽셀들 중 기준 픽셀에 대응하는 픽셀 값과 상기 기준 픽셀의 주위에 존재하는 참조 픽셀에 대응하는 픽셀 값의 차이 값에 기반하여 상기 선택된 방향 모드에 포함된 복수의 방향들 중 하나의 방향을 선택하고, 상기 선택된 방향을 이용하여 상기 선택된 블록에 대한 화면 내 예측을 수행하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 방향 모드는 상기 왜곡 파라미터에 따라서 상기 방향 모드에 포함된 선의 곡률이 달라지도록 구현될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 방향 모드는 상기 렌즈부의 중심과 상기 렌즈부의 일부 영역의 중심 사이의 거리에 따라서 상기 방향 모드에 포함된 선의 곡률이 달라지도록 구현될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 렌즈부는 망원 렌즈를 포함하고, 상기 렌즈부의 중심과 상기 렌즈부의 일부 영역의 중심 사이의 거리가 증가하면, 상기 방향 모드에 포함된 선의 곡률이 커지도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는 상기 압축 이미지를 외부 전자 장치로 전송하는 통신 모듈을 더 포함하고, 상기 전자 장치는 상기 외부 전자 장치가 상기 압축 이미지에 대한 이미지 프로세싱을 수행해서 생성된 이미지를 상기 통신 모듈을 이용하여 수신하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는 렌즈부; 이미지 센서, 상기 이미지 센서는 외부 객체에 대응하는 광이 상기 렌즈부를 통과하여 상기 이미지 센서 표면에 형성되는 이미지 서클이 상기 이미지 센서의 일부는 포함하고 상기 이미지 센서의 다른 일부는 포함하지 않도록 배치되고; 및 프로세서를 포함하고, 상기 프로세서는, 상기 이미지 센서를 이용하여, 상기 외부 객체에 대응하는 이미지를 획득하고, 상기 이미지에서 상기 이미지 서클에 대응하는 영역을 결정하고, 상기 이미지를 복수의 블록들로 나누어 압축하여 압축된 아미지 데이터를 생성하고, 상기 압축하는 동작의 일부로, 상기 복수의 블록들 중 상기 이미지 서클에 적어도 일부 포함되는 블록은 상기 압축된 이미지 데이터의 일부로서 압축하고, 상기 복수의 블록들 중 상기 이미지 서클에 포함되지 않는 블록은 상기 압축된 이미지 데이터에 포함시키지 않고, 및 상기 압축된 이미지 데이터를 외부의 프로세서로 전송하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 프로세서는, 상기 압축하는 동작의 일부로, 상기 이미지 서클에 적어도 일부 포함된 제 1 블록과 상기 이미지 서클의 중심에 기반하여 왜곡 파라미터를 결정하고, 상기 왜곡 파라미터를 이용하여 상기 제 1 블록에 포함된 픽셀 데이터에 대한 intra prediction을 수행하고, 및 상기 intra prediction에 기반하여 상기 제 1 블록을 압축하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 프로세서는, 지정된 intra prediction angular mode 및 상기 왜곡 파라미터를 이용하여 상기 intra prediction을 수행하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 프로세서는, 상기 제 1 블록의 적어도 둘 이상의 꼭지점과 상기 중심이 이루는 각도에 기반하여 상기 왜곡 파라미터를 결정하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 왜곡 파라미터는 상기 제 1 블록과 상기 이미지 서클의 중심 사이의 거리에 기반하여 결정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 왜곡 파라미터는 상기 intra prediction에 이용되는 예측 방향의 곡률을 변경하는데 이용될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치에서, 상기 렌즈부는 화각(field of view)이 120도 이상인 렌즈를 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는 상기 압축 이미지를 외부 전자 장치로 전송하는 통신 모듈을 더 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는 상기 외부 전자 장치가 상기 압축 이미지에 대한 이미지 프로세싱을 수행해서 생성된 이미지를 상기 통신 모듈을 이용하여 수신하도록 설정될 수 있다.
도 6은 본 발명의 다양한 실시예에 따른 전자 장치 및 클라우드 플랫폼의 블록도이다.
도 6을 참조하면, 전자 장치(610)(예: 도 3의 전자 장치(300))는 카메라 모듈(611)(예: 도 3의 카메라 모듈(310)) 및 디스플레이(620)(예: 도 1의 표시 장치(160)), 프로세서(621)(예: 도 3의 프로세서(320)) 및 메모리(619, 622)(예: 도 3의 메모리(330))를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 카메라 모듈(611)은 이미지 센서(612)(예: 도 3의 이미지 센서(313)), 프로세서(613), 메모리(619)를 포함할 수 있다. 프로세서(613)는 원시 이미지 처리부(614) 및 이미지 신호 프로세서(image signal processor)(615) 및 인코더(616)을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 이미지 센서(612)는 피사체에 대한 다양한 원시 이미지(raw image)를 획득할 수 있다. 이미지 센서(612)는 컬러 필터 어레이(CFA, Color Filter Array) 패턴에 따라 다양한 형태의 원시 이미지를 획득할 수 있다. 이미지 센서(612)의 듀얼 픽셀(DP, dual pixel또는 2PD) 구조를 이용하면, 하나의 픽셀에 서로 다른 위상 차(또는 시차) 정보를 포함하는 이미지를 획득할 수 있다. 서로 같거나 다른 특성을 가진 복수의 이미지 센서들(예: 듀얼 센서(예: RGB+RGB, RGB+Mono, 또는 Wide+Tele 등), 어레이 센서(Array Sensor, 예: 2개 이상의 Sensor가 부착))을 이용하여, 한 장면에 대해 하나 이상의 이미지 센서(612)을 획득할 수 있다. 획득된 이미지 센서(612)은 그대로 또는 추가적인 처리를 거쳐 메모리(622)에 저장될 수 있다.
본 발명의 다양한 실시예에 따르면, 이미지 센서(612)는 피사체로부터 렌즈 어셈블리(미도시)를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 상기 피사체에 대응하는 이미지를 획득할 수 있다. 일실시예에 따르면, 이미지 센서(612)는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 이미지 센서(612)에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서로 구현될 수 있다.
본 발명의 다양한 실시예에 따르면, 카메라 모듈(611)은 렌즈 어셈블리(예: 도 2의 렌즈 어셈블리(210)), 플래쉬(예: 도 2의 플래쉬(220)), 이미지 스태빌라이저(예: 도 2의 이미지 스태빌라이저(240))를 더 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 렌즈 어셈블리(210)는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리(210)는 하나 또는 그 이상의 렌즈들을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 카메라 모듈(611)은 복수의 렌즈 어셈블리(210)들을 포함할 수 있다. 이런 경우, 카메라 모듈(611)은, 예를 들면, 듀얼 카메라, 360도 카메라, 또는 구형 카메라(spherical camera)일 수 있다. 복수의 렌즈 어셈블리(미도시)들은 동일한 렌즈 속성(예: 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나, 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 렌즈 어셈블리와 적어도 하나의 다른 렌즈 속성을 가질 수 있다. 렌즈 어셈블리(미도시)는, 예를 들면, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다. 플래쉬(210)는 피사체로부터 방출되는 빛을 강화하기 위하여 사용되는 광원을 방출할 수 있다. 플래쉬(220)는 하나 이상의 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 xenon lamp를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 이미지 스태빌라이저(240)는 카메라 모듈(612) 또는 이를 포함하는 전자 장치(610)의 움직임에 반응하여, 촬영되는 이미지에 대한 상기 움직임에 의한 부정적인 영향(예: 이미지 흔들림)을 적어도 일부 보상하기 위하여 렌즈 어셈블리(미도시)에 포함된 적어도 하나의 렌즈 또는 이미지 센서(612)를 특정한 방향으로 움직이거나 제어(예: 리드 아웃(read-out) 타이밍을 조정 등)할 수 있다. 일실시예에 따르면, 이미지 스태빌라이저(240)는, 예를 들면, 광학식 이미지 스태빌라이저로 구현될 수 있으며, 카메라 모듈(212)의 내부 또는 외부에 배치된 자이로 센서(미도시) 또는 가속도 센서(미도시)를 이용하여 상기 움직임을 감지할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치의 프로세서(613, 621)는 영상 처리와 관련된 다양한 처리들을 수행할 수 있다. 다양한 영상 처리 모듈들(예: 원시 이미지 처리부(614), 이미지 신호 프로세서(615), 인코더(616))은 하나의 프로세서 내에 포함될 수도 있고, 복수의 프로세서(613, 621)들에 분산되어 있을 수도 있다. 프로세서(613)는 카메라 모듈(611)의 내부에 또는 카메라 모듈(611)의 외부에(예: 전자 장치(610)) 또는 클라우드 플랫폼(650)의 일부를 구성하고 있는 하나 또는 여러 서버 등) 또는 내부와 외부 모두에 있을 수 있다. 다양한 처리들은 프로세서에 의해 단독으로 처리되거나 또는 복수의 프로세서에 의해 분산 처리될 수 있다.
본 발명의 다양한 실시예에 따르면, 원시 이미지 처리부(614)는 이미지 센서(612)에서 획득된 원시 이미지에 대해 다양한 처리를 수행할 수 있다. 원시 이미지에 대해 렌즈 왜곡 보상을 수행하거나 또는 또는 노이즈를 일부 제거할 수 있다. 원시 이미지는 데이터의 크기가 상당히 클 수 있으므로, 원시 이미지 처리부(614)는 원시 이미지를 저장, 처리 또는 전송하기 전에, 다양한 처리(예: 다운 스케일링(down scaling), 다운 샘플링(down sampling) 또는 압축(compression) 등)를 통해 데이터 크기를 줄일 수 있다.
본 발명의 다양한 실시예에 따르면, 소형 원시 이미지 생성부(617)는 원시 이미지를 다운 스케일링(예: 크기 줄이거나 또는 해상도를 낮추는 동작) 또는 다운 샘플링(예: 샘플링된 일련의 샘플들 중 하나 또는 일부 샘플만을 취하는 동작)을 통해 소형 원시 이미지를 생성할 수 있다.
본 발명의 다양한 실시예에 따르면, 원시 이미지 압축부(618)는 다양한 영상 압축 알고리즘을 이용하여 원시 이미지 또는 소형 원시 이미지를 압축할 수 있다. 도 5a 내지 도 5h에서 서술한 바와 같이, 원시 이미지 압축부(618)는 원시 이미지의 왜곡된 정도를 고려하여 구현된 복수의 방향 모드를 이용하여 원시 이미지 또는 소형 원시 이미지를 압축할 수 있다.
본 발명의 다양한 실시예에 따르면, 이미지 신호 프로세서(615)는 엔진(657)에서 분석된 원시 이미지에 대한 다양한 정보를 포함하는 레시피 정보(recipe)를 이용하여, 원시 이미지에 대한 다양한 영상 처리를 수행한다. 전자 장치(610)는 클라우드 플랫폼(650)으로부터 레시피 정보를 수신하고, 이미지 신호 프로세서(615)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다. 예를 들면, 전자 장치(610)의 임베디드이미지 신호 프로세서(Embedded 이미지 신호 프로세서)에서 제공되는 영상 처리와, 레시피 정보를 활용한 영상 처리를 복합적으로 수행할 수 있다. 클라우드 플랫폼(650)에서 영상 처리를 수행하는 경우, 클라우드 플랫폼(650)에 포함된 이미지 신호 프로세서(658)를 통해, 레시피 정보에 기반한 원시 이미지를 수행할 수도 있다. 클라우드 플랫폼(650)에 포함된 이미지 신호 프로세서(658)는 데이터베이스(652)로부터 레시피 정보에 대응하는 추가 정보(예: feature vector 등)를 수신하여 영상 처리에 이용할 수 있다. 처리된 영상은 전자 장치(610)로 송신되거나 또는 클라우드 플랫폼(650)의 이미지 저장소(654)에 저장될 수 있다. 영상 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 기능을 포함할 수 있다. 이러한 기능들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
본 발명의 다양한 실시예에 따르면, 이미지 신호 프로세서(615)는 이미지 센서(612)을 통하여 획득된 이미지 또는 메모리(619, 622)에 저장된 이미지에 대하여 이미지 처리(예: 깊이 지도(depth map) 생성, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening))을 수행할 수 있다. 추가적으로 또는 대체적으로, 이미지 신호 프로세서(615)는 카메라 모듈(611)에 포함된 구성 요소들 중 적어도 하나(예: 이미지 센서(612))에 대한 제어(예: 노출 시간 제어, 또는 리드 아웃 타이밍 제어 등)를 수행할 수 있다. 이미지 신호 프로세서(615)에 의해 처리된 이미지는 추가 처리를 위하여 메모리(650)에 다시 저장 되거나 카메라 모듈(180)의 외부 구성 요소(예: 메모리(130), 표시 장치(160), 전자 장치(102), 전자 장치(104), 또는 서버(108))로 전달될 수 있다. 일실시예에 따르면, 이미지 신호 프로세서(615)는 프로세서(613, 621)의 적어도 일부로 구성되거나, 프로세서(613, 621)와 독립적으로 운영되는 별도의 프로세서로 구성될 수 있다. 별도의 프로세서로 구성된 경우, 이미지 신호 프로세서(615)에 의해 처리된 이미지들은 프로세서(613, 621)에 의하여 그대로 또는 추가의 이미지 처리를 거친 후 디스플레이(620)를 통해 표시될 수 있다.
본 발명의 다양한 실시예에 따르면, 인코더(616)는 원시 이미지를 인코딩 하여 이미지 파일(예: JPEG, MPEG, 360 영상 등)을 생성할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(610)는 카메라 모듈(611) 내부에 메모리(619) 및/또는 카메라 모듈(611) 외부에 메모리(622)를 포함할 수 있다. 메모리(619, 622)는 원시 이미지, 소형 원시 이미지, 이미지 파일, 및 이미지 처리된 원시 이미지 등을 저장할 수 있다. 메모리(619, 622)는 이미지 센서(612)을 통하여 획득된 이미지의 적어도 일부를 다음 이미지 처리 작업을 위하여 적어도 일시 저장할 수 있다. 예를 들어, 셔터에 따른 이미지 획득이 지연되거나, 또는 복수의 이미지들이 고속으로 획득되는 경우, 획득된 원본 이미지(예: 높은 해상도의 이미지)는 메모리(619, 622)에 저장이 되고, 그에 대응하는 사본 이미지(예: 낮은 해상도의 이미지)는 디스플레이(620)를 통하여 프리뷰될 수 있다. 이후, 지정된 조건이 만족되면(예: 사용자 입력 또는 시스템 명령) 메모리(619, 622)에 저장되었던 원본 이미지의 적어도 일부가, 예를 들면, 이미지 신호 프로세서(615)에 의해 획득되어 처리될 수 있다. 일실시예에 따르면, 메모리(619)는 메모리(622)의 적어도 일부로, 또는 이와는 독립적으로 운영되는 별도의 메모리로 구성될 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(610)는 디스플레이(622)를 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 클라우드 플랫폼(650)은 외부 장치로서, 프로세서(651), 데이터 베이스(652), 원시 이미지 저장소(653), 이미지 저장소(654)를 포함할 수 있다. 프로세서(651)는 엔진(예를 들어, 인식 엔진)(655), 인코더(656), 전처리부(657), 이미지 신호 프로세서(658)을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 클라우드 플랫폼(650)의 프로세서(651)는 영상 처리와 관련된 다양한 처리들을 수행할 수 있다. 다양한 영상 처리 모듈들(예: 엔진(655), 인코더(656), 전처리부(657), 이미지 신호 프로세서(658))은 하나의 프로세서 내에 포함될 수도 있고 복수의 프로세서들에 분산되어 있을 수도 있다.
본 발명의 다양한 실시예에 따르면, 엔진(655)은 영상(예: 원시 이미지, 소형 원시 이미지, 이미지 파일 등)으로부터 다양한 유의미한 정보(예: 사물 인식, 속도 벡터, 얼굴 인식, 세그먼테이션(segmentation), 장면 파싱(scene parsing) 등)를 분석하는 동작을 수행한다. 이를 위한 다양한 알고리즘들을 포함할 수 있다. 분석 결과로써 이미지 신호 프로세서에서 다양한 영상 처리에 활용 가능한 정보(레시피 정보, recipe information)(예: segments, layers, vectors, 또는 scene category 등을 포함하는 정보)를 영상과 연관하여 생성, 저장, 또는 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, 인코더(656)는 원시 이미지를 인코딩 하여 이미지 파일(예: JPEG, MPEG, 360 영상 등)을 생성할 수 있다.
본 발명의 다양한 실시예에 따르면, 전처리부(657)는 전자 장치(610)로부터 수신된 원시 이미지를 엔진(655)이나 이미지 신호 프로세서(658)로 전달하기 전에 필요한 처리를 수행할 수 있다. 압축된 원시 이미지의 압축 해제, 간단한 화질 개선, 디모자이크(de-mosaic) 처리, 또는 영상 포맷 변경 등을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 이미지 신호 프로세서(658)는 엔진(657)에서 분석된 원시 이미지에 대한 다양한 정보를 포함하는 레시피 정보(recipe)를 이용하여, 원시 이미지에 대한 다양한 영상 처리를 수행한다. 전자 장치(610)는 클라우드 플랫폼(650)으로부터 레시피 정보를 수신하고, 이미지 신호 프로세서(615)를 통해, 레시피 정보에 기반한 원시 이미지 처리를 수행할 수 있다. 예를 들면, 전자 장치(610)의 임베디드이미지 신호 프로세서(Embedded 이미지 신호 프로세서)에서 제공되는 영상 처리와, 레시피 정보를 활용한 영상 처리를 복합적으로 수행할 수 있다. 클라우드 플랫폼(650)에서 영상 처리를 수행하는 경우, 클라우드 플랫폼(650)에 포함된 이미지 신호 프로세서(658)를 통해, 레시피 정보에 기반한 원시 이미지를 수행할 수도 있다. 클라우드 플랫폼(650)에 포함된 이미지 신호 프로세서(658)는 데이터베이스(652)로부터 레시피 정보에 대응하는 추가 정보(예: feature vector 등)를 수신하여 영상 처리에 이용할 수 있다. 처리된 영상은 전자 장치(610)로 송신되거나 또는 클라우드 플랫폼(650)의 이미지 저장소(654)에 저장될 수 있다. 영상 처리는 화이트 밸런스(White Balance), 색 조정(Color Adjustment), 노이즈 제거(Noise Reduction), 샤픈 (Sharpen), 디테일 인핸스먼트(Detail Enhancement) 등의 기능을 포함할 수 있다. 이러한 기능들은 레시피 정보에 기반하여, 영상의 영역별로 수행될 수 있다.
본 발명의 다양한 실시예에 따르면, 데이터베이스(652)는 영상의 카테고리에 대응하는 특징(feature)을 저장할 수 있다. 원시 이미지 저장소(653)는 원시 이미지를 저장할 수 있다. 이미지 저장소(654)는 이미지 파일을 저장할 수 있다.
도 7은 본 발명의 다양한 실시예에 따른 전자 장치(710)에서, 획득한 영상을 클라우드 플랫폼(720) 또는 전자 장치(710)를 이용하여 수행하는 과정을 도시한 도면이다.
본 발명의 다양한 실시예에 따르면, 이미지 센서(711)(예: 도 3의 이미지 센서(313))는 이미지 센서(313)는 렌즈부(311)가 수집한 빛을 전기적인 신호로 변환함으로써, 외부 객체(350)에 대응하는 이미지를 획득할 수 있다. 이미지 센서(313)가 생성한 이미지는 원시 이미지(raw image)일 수 있다.
본 발명의 다양한 실시예에 따르면, 원시 이미지는 이미지 센서(313)가 생성한 이미지로, 이미지 압축이 수행되지 않은 이미지를 의미할 수 있다.
본 발명의 다양한 실시예에 따르면, 원시 이미지는 전자 장치(710) 또는 클라우드 플랫폼(720) 상에서 이미지 처리가 수행될 수 있다. 이를 위해서, 원시 이미지는 클라우드 플랫폼(720) 또는 이미지 신호 프로세서(713)(예: 도 6의 이미지 신호 프로세서(615))로 전송될 수 있다. 원시 이미지를 클라우드 플랫폼(720)으로 전송하는 경우, 전자 장치(710)는 원시 이미지가 갖는 데이터의 크기를 감소 시키기 위해서 원시 이미지를 압축한 압축 이미지를 클라우드 플랫폼(720)으로 전송할 수 있다.
본 발명의 다양한 실시예에 따르면, 영상 압축 해제부(721)는 압축된 영상에 대한 압축 해제를 수행할 수 있다. 압축 해제된 영상은 이미지 신호 프로세서(722)(예: 도 6의 이미지 신호 프로세서(615))로 전송될 수 있다. 이미지 신호 프로세서(615)는 압축 해제된 이미지에 대한 이미지 처리(예: 깊이 지도(depth map) 생성, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening)을 포함하는 다양한 이미지 처리 작업)를 수행하고, 최종 작업이 완료된 이미지(723)를 생성할 수 있다. 작업 완료된 이미지(723)는 전자 장치(710)로 전송되어, 전자 장치(710)의 메모리(715)에 저장될 수 있다.
본 발명의 다양한 실시예에 따르면, 원시 이미지는 이미지 신호 프로세서(713)으로 전송되고, 이미지 신호 프로세서(713)는 원시 이미지에 대한 이미지 처리(예: 깊이 지도(depth map) 생성, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening)을 포함하는 다양한 이미지 처리 작업)를 수행하고, 최종 작업이 완료된 이미지(714)를 생성할 수 있다. 작업 완료된 이미지(714)는 전자 장치로 전송되어, 전자 장치(710)의 메모리(715)에 저장될 수 있다.
본 발명의 다양한 실시예에 따르면, 원시 이미지는 360도 카메라에 포함된 적어도 두 개 이상의 카메라 모듈을 이용하여 촬영된 이미지일 수 있다. 360도 카메라에 의해 촬영된 이미지의 경우, 이미지 신호 프로세서(713, 722)는 적어도 두 개 이상의 이미지에 대한 워핑(warping, 이미지를 찌그러트리는 효과) 및 스티칭(stitching, 이미지들을 이어 붙임) 작업을 수행할 수 있다. 클라우드 플랫폼(720)은 전자 장치(710)에 비해 이미지 처리의 속도가 클 수 있고, 350도 카메라에서 촬영된 영상을 빠르게 처리할 수 있다.
도 8은 본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법을 도시한 동작 흐름도이다.
본 발명의 다양한 실시예에 따르면, 동작 810에서, 프로세서(예: 도 3의 프로세서(320))는 외부 객체(예: 도 3의 외부 객체(350))에 대응하는 이미지를 획득할 수 있다.
본 발명의 다양한 실시예에 따르면, 이미지 센서(예: 도 3의 이미지 센서(313))는 렌즈부(예: 도 3의 렌즈부(311))가 수집한 빛을 전기적인 신호로 변환함으로써, 외부 객체(350)에 대응하는 이미지를 획득할 수 있다. 이미지 센서(313)가 생성한 이미지는 원시 이미지(raw image)일 수 있다. 프로세서(320)는 이미지 센서(313)가 획득한 원시 이미지를 획득할 수 있다.
본 발명의 다양한 실시예에 따르면, 동작 820에서, 프로세서(320)는 이미지 서클에 대응하는 영역을 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 이미지 서클은 외부 객체(350)에 대응하는 광이 렌즈부(311)를 통과하여 이미지 센서(313)의 표면에 형성된 형태를 의미할 수 있다. 이미지 서클의 형태는 원형일 수 있으나, 원형에 제한되지 않고 다양한 형태를 가질 수 있다.
본 발명의 다양한 실시예에 따르면, 동작 830에서, 프로세서(320)는 이미지를 복수의 블록으로 나눌 수 있다.
본 발명의 다양한 실시예에 따르면, 복수의 블록은 프로세서(320)가 화면 내 예측 또는 화면 간 예측을 수행하기 위한 최소 단위를 의미할 수 있다.
본 발명의 다양한 실시예에 따르면, 동작 840에서, 프로세서(320)는 복수의 블록들 각각이 이미지 서클에 적어도 일부 포함되는지 여부를 확인할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 복수의 블록들 중 이미지 서클에 적어도 일부 포함되는 블록들에 대한 압축을 수행할 것으로 결정할 수 있다. 프로세서(320)는 복수의 블록들 중 이미지 서클에 포함되지 않는 블록들은 압축을 수행하지 않을 것을 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 동작 850에서, 프로세서(320)는 이미지 서클에 적어도 일부 포함된 블록에 대해 화면 내 예측을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 블록에 대응하는 왜곡 파라미터에 기반하여 결정된 방향 모드를 이용하여 화면 내 예측을 수행할 수 있다. 방향 모드에 포함된 선들은 왜곡된 정도에 기반하여 결정된 곡률을 가질 수 있다. 곡률은 렌즈부(311)의 광학적 특성에 의해 발생하게 되는 원시 이미지의 왜곡 파라미터에 기반하여 결정될 수 있다.
본 발명의 다양한 실시예에 따르면, 동작 860에서, 프로세서(320)는 화면 내 예측 결과에 기반하여 이미지 압축을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 이미지 압축을 수행하여 생성된 압축 이미지를 통신 모듈(예: 도 1의 통신 모듈(190))을 이용하여 클라우드 플랫폼(예: 도 7의 클라우드 플랫폼(720))에 전송할 수 있다.
도 9는 본 발명의 다른 실시예에 따른 전자 장치의 동작 방법을 도시한 동작 흐름도이다.
본 발명의 다양한 실시예에 따르면, 동작 910에서, 프로세서(예: 도 3의 프로세서(320))는 외부 객체(예: 도 3의 외부 객체(350))에 대응하는 원시 이미지를 획득할 수 있다.
본 발명의 다양한 실시예에 따르면, 이미지 센서(예: 도 3의 이미지 센서(313))는 렌즈부(예: 도 3의 렌즈부(311))가 수집한 빛을 전기적인 신호로 변환함으로써, 외부 객체(350)에 대응하는 이미지를 획득할 수 있다. 이미지 센서(313)가 생성한 이미지는 원시 이미지(raw image)일 수 있다. 프로세서(320)는 이미지 센서(313)가 획득한 원시 이미지를 획득할 수 있다.
동작 920에서, 프로세서(320)는 원시 이미지를 복수의 블록으로 나눌 수 있다.
본 발명의 다양한 실시예에 따르면, 복수의 블록은 프로세서(320)가 화면 내 예측 또는 화면 간 예측을 수행하기 위한 최소 단위를 의미할 수 있다.
동작 930에서, 프로세서(320)는 복수의 블록들 중 화면 내 예측을 수행할 블록을 선택할 수 있다.
동작 940에서, 프로세서(320)는 선택된 블록에 대응하는 렌즈의 일부 영역의 왜곡 파라미터에 기반하여 방향 모드를 결정할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 선택된 블록에 대응하는 렌즈부(311)의 일부 영역의 왜곡 파라미터를 확인할 수 있다. 프로세서(320)는 확인된 왜곡 파라미터에 대응하는 방향 모드를 결정하고, 결정된 방향 모드를 이용하여 선택된 블록에 대한 화면 내 예측을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치(300)의 메모리(예: 도 3의 메모리(330))에는 복수의 왜곡 파라미터들 각각에 매핑된 방향 모드들이 저장될 수 있다. 방향 모드들은 왜곡 파라미터가 지시하는 왜곡된 정도에 따라 다른 곡률을 갖는 선들을 포함할 수 있다. 예를 들어, 왜곡된 정도가 큰 블록의 화면 내 예측에 이용되는 방향 모드에 포함된 선들은 다른 방향 모드에 포함된 선들에 비해 곡률이 클 수 있다. 곡률은 렌즈부(311)의 광학적 특성으로 인해 발생하게 되는 왜곡 파라미터에 기반하여 결정될 수 있다.
동작 950에서, 프로세서(320)는 결정된 방향 모드를 이용하여 화면 내 예측을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 블록에 대한 화면 내 예측을 수행할 때, 결정된 방향 모드에 포함된 복수의 곡선들이 지시하는 방향(방향성 모드)에 따라서 화면 내 예측을 수행하고, 레지듀얼 값이 가장 작은 방향성 모드를 결정할 수 있다.
동작 960에서, 프로세서(320)는 예측 결과에 기반하여 원시 이미지의 압축을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 레지듀얼 값이 가장 작은 방향성 모드를 이용하여 원시 이미지의 화면 내 압축을 수행할 수 있다. 프로세서(320)는 원시 이미지에 포함된 복수의 블록에 대해서 동작 930, 동작 940, 동작 950 동작을 수행함으로써, 원시 이미지의 압축을 수행할 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 화면 내 예측을 수행하고자 선택된 블록의 왜곡된 정도를 고려하여 화면 내 예측을 수행하므로, 레지듀얼이 작은 압축된 영상을 생성할 수 있고, 압축의 효율을 증가시킬 수 있다.
본 발명의 다양한 실시예에 따르면, 프로세서(320)는 이미지 압축을 수행하여 생성된 압축 이미지를 통신 모듈(예: 도 1의 통신 모듈(190))을 이용하여 클라우드 플랫폼(예: 도 7의 클라우드 플랫폼(720))에 전송할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법은 이미지 센서를 이용하여, 외부 객체에 대응하는 원시 이미지(raw image)를 획득하는 동작; 상기 원시 이미지를 복수의 블록들로 구분하는 동작; 상기 복수의 블록들 중 화면 내 예측을 수행할 블록을 선택하는 동작; 상기 선택된 블록에 대응하는 상기 렌즈 부의 일부 영역의 왜곡 파라미터에 기반하여 상기 선택된 블록의 화면 내 예측에 이용될 방향 모드를 결정하는 동작; 상기 결정된 방향 모드에 기반하여 상기 선택된 블록에 대한 화면 내 예측을 수행하는 동작; 및 상기 화면 내 예측 결과에 기반하여 원시 이미지에 대응하는 압축 이미지를 생성하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법에서, 상기 방향 모드를 결정하는 동작은 상기 선택된 블록과 상기 원시 이미지의 중심 사이의 상대적 위치 정보에 기반하여 상기 선택된 블록에 대응하는 상기 렌즈부의 일부 영역을 결정하는 동작; 및 상기 결정된 일부 영역에 대응하는 방향 모드를 선택하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법에서, 상기 선택된 블록에 대한 화면 내 압축을 수행하는 동작은 상기 선택된 블록에 포함된 픽셀들 중 기준 픽셀에 대응하는 픽셀 값과 상기 기준 픽셀의 주위에 존재하는 참조 픽셀에 대응하는 픽셀 값의 차이 값에 기반하여 상기 선택된 방향 모드에 포함된 복수의 방향들 중 하나의 방향을 선택하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법에서, 상기 방향 모드는 상기 왜곡 파라미터에 따라서 상기 방향 모드에 포함된 선의 곡률이 달라지도록 구현될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (15)

  1. 전자 장치에 있어서,
    렌즈 부;
    이미지 센서;
    상기 이미지 센서를 이용하여 촬영한 영상의 화면 내 예측(intra prediction)에 이용되고, 상기 렌즈 부의 일부 영역의 특성에 따라서 다르게 설정된 방향 모드를 저장하는 메모리; 및
    프로세서를 포함하고,
    상기 프로세서는
    상기 이미지 센서를 이용하여, 외부 객체에 대응하는 원시 이미지(raw image)를 획득하고,
    상기 원시 이미지를 복수의 블록들로 구분하고,
    상기 복수의 블록들 중 화면 내 예측을 수행할 블록을 선택하고,
    상기 선택된 블록에 대응하는 상기 렌즈 부의 일부 영역의 왜곡 파라미터에 기반하여 상기 선택된 블록의 화면 내 예측에 이용될 방향 모드를 결정하고,
    상기 결정된 방향 모드에 기반하여 상기 선택된 블록에 대한 화면 내 예측을 수행하고,
    상기 화면 내 예측 결과에 기반하여 원시 이미지에 대응하는 압축 이미지를 생성하도록 설정된 전자 장치.
  2. 제 1항에 있어서,
    상기 프로세서는
    상기 선택된 블록과 상기 원시 이미지의 중심 사이의 상대적 위치 정보에 기반하여 상기 선택된 블록에 대응하는 상기 렌즈부의 일부 영역을 결정하고,
    상기 결정된 일부 영역에 대응하는 방향 모드를 선택하고,
    상기 선택된 방향 모드에 기반하여 상기 선택된 블록에 대한 화면 내 예측을 수행하도록 설정된 전자 장치.
  3. 제 1항에 있어서,
    상기 프로세서는
    상기 선택된 블록에 포함된 픽셀들 중 기준 픽셀에 대응하는 픽셀 값과 상기 기준 픽셀의 주위에 존재하는 참조 픽셀에 대응하는 픽셀 값의 차이 값에 기반하여 상기 선택된 방향 모드에 포함된 복수의 방향들 중 하나의 방향을 선택하고,
    상기 선택된 방향을 이용하여 상기 선택된 블록에 대한 화면 내 예측을 수행하도록 설정된 전자 장치.
  4. 제 1항에 있어서,
    상기 방향 모드는
    상기 왜곡 파라미터에 따라서 상기 방향 모드에 포함된 선의 곡률이 달라지도록 구현된 전자 장치.
  5. 제 1항에 있어서,
    상기 방향 모드는
    상기 렌즈부의 중심과 상기 렌즈부의 일부 영역의 중심 사이의 거리에 따라서 상기 방향 모드에 포함된 선의 곡률이 달라지도록 구현된 전자 장치.
  6. 제 1항에 있어서,
    상기 렌즈부는 망원 렌즈를 포함하고,
    상기 렌즈부의 중심과 상기 렌즈부의 일부 영역의 중심 사이의 거리가 증가하면, 상기 방향 모드에 포함된 선의 곡률이 커지도록 설정된 전자 장치.
  7. 제 1항에 있어서,
    상기 전자 장치는
    상기 압축 이미지를 외부 전자 장치로 전송하는 통신 모듈을 더 포함하고,
    상기 전자 장치는
    상기 외부 전자 장치가 상기 압축 이미지에 대한 이미지 프로세싱을 수행해서 생성된 이미지를 상기 통신 모듈을 이용하여 수신하도록 설정된 전자 장치.
  8. 전자 장치에 있어서,
    렌즈부;
    이미지 센서, 상기 이미지 센서는 외부 객체에 대응하는 광이 상기 렌즈부를 통과하여 상기 이미지 센서 표면에 형성되는 이미지 서클이 상기 이미지 센서의 일부는 포함하고 상기 이미지 센서의 다른 일부는 포함하지 않도록 배치되고; 및
    프로세서를 포함하고, 상기 프로세서는,
    상기 이미지 센서를 이용하여, 상기 외부 객체에 대응하는 이미지를 획득하고,
    상기 이미지에서 상기 이미지 서클에 대응하는 영역을 결정하고,
    상기 이미지를 복수의 블록들로 나누어 압축하여 압축된 아미지 데이터를 생성하고,
    상기 압축하는 동작의 일부로, 상기 복수의 블록들 중 상기 이미지 서클에 적어도 일부 포함되는 블록은 상기 압축된 이미지 데이터의 일부로서 압축하고, 상기 복수의 블록들 중 상기 이미지 서클에 포함되지 않는 블록은 상기 압축된 이미지 데이터에 포함시키지 않고, 및
    상기 압축된 이미지 데이터를 외부의 프로세서로 전송하도록 설정된 전자 장치.
  9. 제 8 항에 있어서,
    상기 프로세서는,
    상기 압축하는 동작의 일부로, 상기 이미지 서클에 적어도 일부 포함된 제 1 블록과 상기 이미지 서클의 중심에 기반하여 왜곡 파라미터를 결정하고, 상기 왜곡 파라미터를 이용하여 상기 제 1 블록에 포함된 픽셀 데이터에 대한 intra prediction을 수행하고, 및 상기 intra prediction에 기반하여 상기 제 1 블록을 압축하도록 설정된 전자 장치.
  10. 제 9항에 있어서,
    상기 프로세서는,
    지정된 intra prediction angular mode 및 상기 왜곡 파라미터를 이용하여 상기 intra prediction을 수행하도록 설정된 전자 장치.
  11. 제 9 항에 있어서,
    상기 프로세서는,
    상기 제 1 블록의 적어도 둘 이상의 꼭지점과 상기 중심이 이루는 각도에 기반하여 상기 왜곡 파라미터를 결정하도록 설정된 전자 장치.
  12. 제 9항에 있어서,
    상기 왜곡 파라미터는
    상기 제 1 블록과 상기 이미지 서클의 중심 사이의 거리에 기반하여 결정되는 전자 장치.
  13. 제 12항에 있어서,
    상기 왜곡 파라미터는
    상기 intra prediction에 이용되는 예측 방향의 곡률을 변경하는데 이용되는 전자 장치.
  14. 제 8항에 있어서,
    상기 렌즈부는
    화각(field of view)이 120도 이상인 렌즈를 포함하는 전자 장치.
  15. 제 8항에 있어서,
    상기 전자 장치는
    상기 압축 이미지를 외부 전자 장치로 전송하는 통신 모듈을 더 포함하는 전자 장치.
PCT/KR2019/006927 2018-06-19 2019-06-10 영상 압축을 수행하는 전자 장치 및 전자 장치의 동작 방법 WO2019245204A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/057,760 US11477443B2 (en) 2018-06-19 2019-06-10 Electronic device for performing image compression and operating method of electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0070194 2018-06-19
KR1020180070194A KR102664681B1 (ko) 2018-06-19 2018-06-19 영상 압축을 수행하는 전자 장치 및 전자 장치의 동작 방법

Publications (1)

Publication Number Publication Date
WO2019245204A1 true WO2019245204A1 (ko) 2019-12-26

Family

ID=68982694

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/006927 WO2019245204A1 (ko) 2018-06-19 2019-06-10 영상 압축을 수행하는 전자 장치 및 전자 장치의 동작 방법

Country Status (3)

Country Link
US (1) US11477443B2 (ko)
KR (1) KR102664681B1 (ko)
WO (1) WO2019245204A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110068375A (ko) * 2009-12-16 2011-06-22 (주) 에투시스템 어안 렌즈를 구비하는 카메라 모듈에 의해 획득된 영상의 왜곡 보정을 위한 파라미터 조정 방법
KR20140124448A (ko) * 2013-04-15 2014-10-27 인텔렉추얼디스커버리 주식회사 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
WO2017093604A1 (en) * 2015-11-30 2017-06-08 Nokia Technologies Oy A method, an apparatus and a computer program product for encoding and decoding video
KR20180000303A (ko) * 2016-06-22 2018-01-02 한국전자통신연구원 화면 내 예측 방법 및 장치
WO2018060358A1 (en) * 2016-09-30 2018-04-05 Thomson Licensing Method and apparatus for omnidirectional video coding and decoding with adaptive intra prediction

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013003756A (ja) 2011-06-15 2013-01-07 Panasonic Corp 撮像データ生成装置、撮像データ復号装置および撮像データ生成方法
US9076267B2 (en) * 2011-07-19 2015-07-07 Panasonic Intellectual Property Corporation Of America Image coding device, integrated circuit thereof, and image coding method
WO2014171713A1 (ko) 2013-04-15 2014-10-23 인텔렉추얼 디스커버리 주식회사 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
EP3177023B1 (en) 2014-07-30 2020-02-05 Sk Planet Co., Ltd. Apparatus for cloud streaming service
KR102199270B1 (ko) 2014-07-30 2021-01-07 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 스틸 이미지 기반 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
JPWO2017204185A1 (ja) * 2016-05-27 2019-03-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 符号化装置、復号装置、符号化方法、および復号方法
EP3301915A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for omnidirectional video coding with adaptive intra most probable modes
WO2018217057A1 (ko) * 2017-05-26 2018-11-29 엘지전자 주식회사 360 비디오 처리 방법 및 그 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110068375A (ko) * 2009-12-16 2011-06-22 (주) 에투시스템 어안 렌즈를 구비하는 카메라 모듈에 의해 획득된 영상의 왜곡 보정을 위한 파라미터 조정 방법
KR20140124448A (ko) * 2013-04-15 2014-10-27 인텔렉추얼디스커버리 주식회사 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
WO2017093604A1 (en) * 2015-11-30 2017-06-08 Nokia Technologies Oy A method, an apparatus and a computer program product for encoding and decoding video
KR20180000303A (ko) * 2016-06-22 2018-01-02 한국전자통신연구원 화면 내 예측 방법 및 장치
WO2018060358A1 (en) * 2016-09-30 2018-04-05 Thomson Licensing Method and apparatus for omnidirectional video coding and decoding with adaptive intra prediction

Also Published As

Publication number Publication date
US11477443B2 (en) 2022-10-18
KR102664681B1 (ko) 2024-05-09
US20210306624A1 (en) 2021-09-30
KR20190142928A (ko) 2019-12-30

Similar Documents

Publication Publication Date Title
WO2020032555A1 (en) Electronic device and method for providing notification related to image displayed through display and image stored in memory based on image analysis
WO2019164185A1 (en) Electronic device and method for correcting image corrected in first image processing scheme in external electronic device in second image processing scheme
WO2019074252A1 (en) METHOD AND ELECTRONIC DEVICE FOR PROCESSING A CAMERA-ACQUIRED RAW IMAGE USING AN EXTERNAL ELECTRONIC DEVICE
WO2021141445A1 (en) Method of improving image quality in zoom scenario with single camera, and electronic device including the same
WO2020091262A1 (ko) 인공 신경망을 이용한 이미지 처리 방법 및 이를 지원하는 전자 장치
WO2020171512A1 (en) Electronic device for recommending composition and operating method thereof
WO2019017641A1 (ko) 전자 장치 및 전자 장치의 이미지 압축 방법
WO2019156428A1 (en) Electronic device and method for correcting images using external electronic device
WO2021133025A1 (en) Electronic device comprising image sensor and method of operation thereof
WO2021112525A1 (en) Electronic device and method for controlling camera motion
WO2020071823A1 (en) Electronic device and gesture recognition method thereof
WO2019172521A1 (en) Electronic device and method for correcting images based on image feature information and image correction scheme
WO2021157954A1 (ko) 복수의 카메라를 이용한 동영상 촬영 방법 및 그 장치
WO2020032497A1 (en) Method and apparatus for incorporating noise pattern into image on which bokeh processing has been performed
WO2019208915A1 (ko) 외부 장치의 자세 조정을 통해 복수의 카메라들을 이용하여 이미지를 획득하는 전자 장치 및 방법
WO2021145667A1 (ko) 카메라 이동 제어 방법 및 장치
WO2019059635A1 (ko) 하나의 이미지 센서를 통해 획득된 rgb 이미지와 ir 이미지를 이용하여 기능을 제공하는 전자 장치
WO2020190030A1 (en) Electronic device for generating composite image and method thereof
WO2020190008A1 (en) Electronic device for auto focusing function and operating method thereof
WO2019190250A1 (ko) 이미지에 포함된 반사 객체의 속성에 기반하여, 반사 객체에 다른 이미지를 합성하는 방법 및 전자 장치
WO2019160262A1 (ko) 전자 장치 및 전자 장치의 이미지 처리 방법
WO2019182359A1 (en) Electronic device for notifying of update of image signal processing and method for operating the same
WO2019125017A1 (ko) 이미지의 관심 영역의 위치에 따라 이미지를 다면체에 매핑하는 장치 및 그 처리 방법
WO2019017586A1 (ko) 이미지 데이터 및 이미지 촬영의 제어와 관련된 데이터의 크기에 기반하여, 이미지 데이터 및 이미지 촬영의 제어와 관련된 데이터를 전송하는 방법 및 이를 지원하는 전자 장치
WO2019107769A1 (ko) 이미지 센서의 리드 아웃 속도에 따라 이미지 데이터를 선택적으로 압축하는 전자 장치 및 그의 운용 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19823369

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19823369

Country of ref document: EP

Kind code of ref document: A1