WO2019017562A1 - 이미지의 에러 데이터를 보정하여 압축하기 위한 장치 및 그에 관한 방법 - Google Patents

이미지의 에러 데이터를 보정하여 압축하기 위한 장치 및 그에 관한 방법 Download PDF

Info

Publication number
WO2019017562A1
WO2019017562A1 PCT/KR2018/003850 KR2018003850W WO2019017562A1 WO 2019017562 A1 WO2019017562 A1 WO 2019017562A1 KR 2018003850 W KR2018003850 W KR 2018003850W WO 2019017562 A1 WO2019017562 A1 WO 2019017562A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
attribute information
image
processor
error data
Prior art date
Application number
PCT/KR2018/003850
Other languages
English (en)
French (fr)
Inventor
전형주
방진민
이아랑
최종범
김성오
김영조
박현희
박하중
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US16/631,943 priority Critical patent/US11451699B2/en
Publication of WO2019017562A1 publication Critical patent/WO2019017562A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N5/926Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation
    • H04N5/9261Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0733Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a data processing system embedded in an image processing device, e.g. printer, facsimile, scanner
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • 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
    • 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/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/81Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20224Image subtraction

Definitions

  • the embodiments disclosed herein relate to techniques for supporting image data compression.
  • the electronic device can acquire image data of an object through an image sensor such as a camera.
  • the image sensor may transfer the acquired image data to the processor of the electronic device via the interface.
  • the image sensor can compress the acquired image data and deliver the compressed image data to the processor.
  • error data or defect pixel
  • a problem that the compression rate of the image data decreases due to the generated error data may occur.
  • Various embodiments of the present invention seek to propose an electronic device and a method therefor for improving the compression ratio of image data by correcting the error data included in the image data.
  • an image sensor module includes an image sensor set to generate image data corresponding to light reflected from a subject or generated in a subject, at least one pixel data included in the image data And detecting at least one error data based on a difference between pixel values of each of the at least one pixel data and at least one other pixel data adjacent to the at least one pixel data, An encoder configured to compress the image data for which the at least one error data has been corrected, and a processor configured to transmit the compressed raw image data to a processor coupled to the image sensor module via an interface Set transmitter .
  • the processor may further include: control circuitry connected from the control circuit through the interface with the processor, the control circuit including error data corrected by the control circuit, Receiving attribute information corresponding to the error data, restoring the compressed raw image data and the error data, wherein the error data is reconstructed based on the attribute information, Correction can be set.
  • an electronic device can provide improved image data compression rates by correcting error data contained in image data.
  • the electronic device can provide the user with high-resolution image data by restoring the image data using the attribute information corresponding to the error data.
  • Figure 1 shows a block diagram of an electronic device for correcting error data in an image and for compressing a corrected image in accordance with various embodiments.
  • Figure 2 shows an operational flow diagram of a control circuit for compressing image data according to various embodiments.
  • Figure 3 shows a flow diagram of the operation of a processor for recovering image data in accordance with various embodiments.
  • Figure 4 shows a pattern of image data according to various embodiments.
  • FIG. 5 shows a block diagram of a control circuit according to various embodiments.
  • Figure 6 shows a block diagram of an encoder in accordance with various embodiments.
  • Figure 7 shows a diagram for illustrating a partition in accordance with various embodiments.
  • FIG. 8 shows a diagram for explaining a method of binarizing a run value according to various embodiments.
  • FIG. 9 shows a block diagram of an electronic device for correcting error data of an image in a network environment and compressing the corrected image in accordance with various embodiments.
  • FIG. 10 shows a block diagram of a camera module for correcting error data in an image and compressing the corrected image in accordance with various embodiments.
  • FIG. 11 shows a block diagram for illustrating the operation of an electronic device and an external electronic device according to various embodiments.
  • the same or similar reference numerals may be used for the same or similar components.
  • Figure 1 shows a block diagram of an electronic device for correcting error data in an image and for compressing a corrected image in accordance with various embodiments.
  • the electronic device 1 may include an image sensor module 10 and a processor 20. According to various embodiments, the electronic device 1 may be implemented by omitting some of the configurations or further including configurations not shown. For example, the electronic device 1 may further include a display, a memory, and / or a communication module.
  • the image sensor module 10 can capture a still image and a moving image.
  • the image sensor module 10 may include an image sensor 110 and a control circuit 120.
  • the image sensor module 10 may be implemented by omitting some configurations or further including configurations not shown.
  • the image sensor module 10 may further include a lens, a diaphragm, an infrared cut filter, and an optical image stabilization (OIS) drive module.
  • OIS optical image stabilization
  • the processor 20 is capable of operating the overall functionality of the electronic device 1.
  • the processor 20 processes the image data obtained from the image sensor module 10, and uses the processed image data to display a still image or a moving image of the subject on a display included in the electronic device 1 Can be controlled.
  • the processor 20 may store the processed image data in the memory of the electronic device 1.
  • the processor 20 may control a communication module included in the electronic device 1 to transmit the processed image data to another electronic device or server.
  • the processor 20 may include at least one of an application processor (AP) and an image signal processor (ISP).
  • AP application processor
  • ISP image signal processor
  • the image sensor module 10 and the processor 20 may be connected via an interface.
  • the image sensor module 10 may transmit image data to the processor 20 using a D-PHY and / or a C-PHY interface defined by a mobile industry processor interface (MIPI).
  • MIPI mobile industry processor interface
  • the image sensor 110 may be implemented using a charge-coupled device (CCD) or complementary metal-oxide-semiconductor (CMOS).
  • CCD charge-coupled device
  • CMOS complementary metal-oxide-semiconductor
  • the image sensor 110 may include a pixel array in which a plurality of pixels are two-dimensionally arranged.
  • the pixel array may include a plurality of pixel data.
  • the image sensor 110 may generate raw image data that corresponds to light reflected from or in the subject.
  • the image sensor 110 in response to the received light, can generate an electrical signal (e.g., charge transfer, current) on which the image data is based.
  • the raw image data obtained by the image sensor 110 may be passed to the processor 20 via the control circuitry 120.
  • the control circuitry 120 may perform a series of operations to process the image data generated by the image sensor 110.
  • the control circuit 120 may detect at least one error data (or defect pixel) contained in the raw image data and may correct at least one detected error data based on the specified scheme have.
  • the control circuit 120 may compress the raw image data with at least one error data corrected and send the compressed raw image data to a receiver 130 included in the processor 20 in a bitstream form Lt; / RTI >
  • the control circuit 120 may generate attribute information corresponding to the detected error data, and may transmit the generated attribute information to the processor 20 or the receiver 130.
  • the control circuit 120 may compress the generated attribute information and send the compressed attribute information to the processor 20 or receiver 130.
  • receiver 130 may receive compressed raw image data and / or attribute information transmitted from image sensor module 10 (or control circuitry 120). When the attribute information generated by the control circuit 120 is compressed, the receiver 130 may receive the compressed attribute information from the control circuit 120.
  • the decoder 140 may recover the compressed raw image data received from the receiver 130.
  • the decoder 140 can restore the error data corrected by the control circuit 120 based on the attribute information.
  • the decoder 140 can restore the compressed attribute information.
  • the decoder 140 may be a separate module or may be included in an image signal processor (ISP)
  • the ISP 150 may process the restored raw image data in a specified manner.
  • ISP 150 may include at least one image processing (IP) block configured to process the restored raw image data.
  • IP image processing
  • the at least one IP block may comprise at least one of a color interpolation, a lens shading correction, an auto white balance, a lateral chromatic aberration correction, optical inverse correction, noise reduction, edge enhancement, gamma correction, or an IP block for out of focusing or blurring.
  • the ISP 150 may be included in the processor 20 or it may be a dedicated module.
  • the ISP 150 may correct the error data included in the restored raw image data based on the attribute information.
  • the ISP 150 may correct the error data using the same or at least some other correction scheme as that performed by the control circuit 150.
  • the electronic device 1 can provide enhanced image quality by performing additional correction through the ISP 150 while improving the compression ratio of the image sensor module 10 by correcting the error data through the control circuit 120 have.
  • Figure 2 shows an operational flow diagram of a control circuit for compressing image data according to various embodiments.
  • the operations shown in Fig. 2 may be performed by a control circuit (for example, control circuit 120) or an image sensor module (for example, image sensor module 10).
  • a control circuit for example, control circuit 120
  • an image sensor module for example, image sensor module 10
  • a control circuit may obtain raw image data corresponding to light reflected or generated at a subject.
  • the raw image data may include various patterns.
  • Various image data patterns included in the raw image data are illustrated in FIG.
  • the control circuitry may detect at least one error data based on a difference between pixel values of adjacent pixel data among a plurality of pixel data included in the obtained original image data. For example, the control circuit can detect specific pixel data as error data by comparing the pixel value of the specific pixel data included in the raw image data with the difference between the pixel values of other adjacent pixel data with a predetermined reference value. As another example, the control circuit can determine the specific pixel data as error data by comparing the difference between the pixel value of the specific pixel data and the pixel value of the adjacent pixel data and the difference between the pixel values of other adjacent pixel data.
  • the control circuitry may generate attribute information corresponding to the sensed error data.
  • the attribute information may include, for example, at least one error data and a bit value of each of a plurality of adjacent pixel data.
  • the attribute information may include flag data (e.g., a bit value) for indicating error data.
  • the control circuit may correct the sensed error data based on the specified scheme. For example, the control circuit may replace the pixel value of the error data with the average pixel value of each of the pixel data adjacent to the error data. In another example, the control circuit may replace the pixel value of the error data with the pixel value average of the two pixel data having the smallest mutual difference in pixel value among the error data and adjacent pixel data.
  • control circuit may compress the raw image data for which the error data has been corrected.
  • control circuit can compress attribute information as well as raw image data.
  • the control circuitry may send the compressed raw image data and / or property information to a processor (e.g., processor 20) or to a receiver (e.g., receiver 130) included in the processor.
  • the control circuitry may transmit raw image data and / or attribute information compressed in the form of a bit stream.
  • the control circuit can transmit not only uncompressed attribute information but also compressed attribute information.
  • the control circuit can transmit compressed image data and attribute information via the MIPI interface.
  • control circuit may correct the error data (act 240) without generating the attribute information after detecting the error data at operation 220.
  • the control circuitry may send only the raw image data compressed in operation 260 to the processor.
  • Figure 3 shows a flow diagram of the operation of a processor for recovering image data in accordance with various embodiments.
  • a processor may receive compressed raw image data and attribute information from a control circuit (e.g., control circuitry 120).
  • the processor may receive raw image data and attribute information compressed through the MIPI interface.
  • the compressed raw image data may include error data corrected by the control circuit.
  • the attribute information may correspond to the error data.
  • the attribute information may include flag data corresponding to the position of the error data.
  • the processor may restore the compressed raw image data. As part of the operation of restoring the compressed raw image data, the processor can restore the error data based on the attribute information.
  • the processor may correct the reconstructed error data to a specified correction scheme.
  • the processor may perform the same correction scheme as the correction scheme performed by the control circuit, and may perform at least some different correction schemes than the correction scheme performed by the control circuit.
  • the operations shown in FIG. 3 may be modified according to various embodiments disclosed in this document, and the order of operations may be changed. Further, the operations are not necessarily performed consecutively, and each of the operations can be performed simultaneously.
  • the processor may receive compressed attribute information from the control circuitry. The processor can restore the compressed attribute information and restore and correct the error data based on the restored attribute information.
  • Figure 4 shows a pattern of image data according to various embodiments.
  • the raw image data obtained by the image sensor 110 may include image data 410, image data 420, image data 430, or image data 440.
  • the pattern of each of the image data 410 to 440 may be determined according to the characteristics of the plurality of filters included in the image sensor 110 (e.g., the wavelength range of light passing through the filter).
  • the image data 410 to 440 may include different image data patterns depending on the color of the image data (e.g., emerald, cyan, yellow, magenta, and white).
  • the image data 410 may include a bayer pattern, a red green blue emerald (RGBE) pattern, a cyan yellow magenta (CYYM) pattern, a cyan yellow green magenta (CYGM) Lt; / RTI >
  • the image data 420 may be an RGBE # 1 pattern.
  • the image data 430 may be an RGBW # 2 pattern.
  • the image data 440 may be an RGBW # 3 pattern.
  • FIG. 5 shows a block diagram of a control circuit according to various embodiments.
  • control circuit 120 may include components that perform the functions of the control circuit 120 described in FIGS. 1-2.
  • the control circuit 120 may include a correction circuit 522, an encoder 524, and a transmitter 526.
  • the correction circuit 522 may be placed before the encoder 524 to detect and correct error data before the image data obtained from the image sensor (e.g., image sensor 110) is compressed have.
  • the correction circuit 522 can detect the error data based on the difference between the pixel values of the plurality of pixel data included in the image data.
  • the correction circuit 522 can correct the sensed error data based on the specified scheme.
  • the correction circuit 522 can generate attribute information corresponding to the detected error data.
  • the attribute information may include, for example, at least one error data and a bit value of a plurality of pixel data.
  • the correction circuit 522 may communicate the attribute information to the encoder 524 to compress the generated attribute information, and may pass the attribute information directly to the processor 20 via the transmitter 526 . Also, according to various embodiments, the correction circuit 522 may not only generate the attribute information, but may also pass only the image data for which the error data has been corrected to the encoder 524, and both the corrected image data and the attribute information, . According to various embodiments, the correction circuit 522 may be a dedicated module and the correction circuit 522 may be included in the encoder 524.
  • the encoder 524 may compress the image data for which the error data has been corrected.
  • the encoder 524 can compress the attribute information generated by the correction circuit 522 in addition to the corrected image data.
  • the encoder 524 may compress attribute information according to various compression schemes.
  • the transmitter 526 may send the compressed image data to the receiver 130 included in the processor 20.
  • the transmitter 526 may transmit compressed image data using, for example, the D-PHY and / or C-PHY interfaces defined in the MIPI. If the attribute information generated by the correction circuit 522 is compressed by the encoder 524, the transmitter 526 may transmit the compressed attribute information to the receiver 130. [ If attribute information is passed directly from the correction circuit 522 to the sender 526, the sender 526 may send the uncompressed attribute information to the receiver 130.
  • 5 to 7 show drawings for explaining an operation in which an electronic device compresses attribute information according to various embodiments.
  • the diagram shown in Figs. 5 to 7 explains the operation in which an electronic device compresses attribute information using run length encoding.
  • 5 to 7 illustrate the operation of compressing attribute information using run-length encoding, but the same principle can be applied to compress the raw image data.
  • Figure 6 shows a block diagram of an encoder in accordance with various embodiments.
  • the encoder 524 may be configured to compress attribute information using run-length encoding.
  • the encoder 524 may include blocks 610 through 620. [ Each of blocks 610 through 620 may be a separate hardware configuration or module included in encoder 524, or it may be a respective operation flow implemented by encoder 524.
  • the encoder 524 may determine a run value for the bit values contained in the attribute information based on the attribute information received from the correction circuit 522 and the size of the predetermined partition.
  • the partition may be composed of a plurality of pixel data included in the image data.
  • the image data 700 may include a plurality of lines.
  • the pixel data 712 to 714 may be included in the first line, and the pixel data 716 to 718 may be included in the second line.
  • a partition may contain a predetermined number of pixel data in one line.
  • the partition 710 may include fourteen pixel data including pixel data 712 through 714.
  • FIG. 7 shows image data 700 having a size of partition (i.e., the number of pixel data) 14, the size of the partition may vary according to the implementation method.
  • the size of the partitions may be fixed or variable. Information indicating the size of the partition may be included in the header area.
  • the encoder 524 may determine the value of the first pixel of the partition, and then determine the value of the run by comparing the pixel values.
  • the encoder 524 can determine the run value by performing a comparison operation by the number of pixel data included in the partition.
  • the encoder 524 may insert information in the header area indicating the identified first pixel value. According to various embodiments, if the pixel values of the pixel data included in the partition are all the same, the encoder 524 does not separately generate the run value, but generates information indicating that the pixel values of the pixel data included in the partition are all the same Can be inserted into the header area. If the image data is compressed equally for each bit plane, the encoder 524 may insert information indicating the number of partitions and bit planes having the same pixel value in the header area.
  • the encoder 524 may binarize the identified run value.
  • the encoder 524 may binarize the run value based on the binarization technique represented by the index.
  • the index may represent the binarization technique to be performed by the encoder 524 among the plurality of binarization techniques.
  • the binarization technique may be, for example, at least one of k th -order Exp Golomb, Unary, Truncation Unary, Cutting Unary + k th Exponential Gollum, Golomb rice One can be included.
  • the encoder 524 may binarize a run value based on at least one of the techniques shown in Tables 810 through 830.
  • Tables 810 through 820 may represent a k-th exponent grade technique.
  • the prefix may refer to information indicating how many bits the suffix is. For example, referring to Table 810, if the prefix value is 1110, the prefix is represented by a 3-bit value, and if the prefix value is 111110, the prefix may indicate that the suffix is represented by a 5-bit value have.
  • the prefix value is 1110
  • the prefix is represented as a 5-bit value
  • the prefix value is 111110
  • the prefix means that the suffix is represented as a 7-bit value .
  • the suffix can be determined based on the range of the run value (value range) and the max value.
  • the sum of the number of bits of the prefix and the number of bits of the suffix can be expressed by the number of bits (Num of bits).
  • Table 830 can represent the cutting type unimodal + zero order exponentiation technique with a maximum value of 4.
  • the 4 digits in a binary bit string can be determined by the cutting type unary method, and the remaining digits can be determined by the 0th order exponentiation method.
  • an electronic device may include a processor (e.g., processor 20 or ISP 150) and an image sensor module ), The image sensor module comprising: an image sensor (e.g., image sensor 110); And a control circuit (e.g., control circuit (120)) electrically connected to the image sensor and connected through the interface with the processor, the control circuit obtaining raw image data through the image sensor, Detecting at least one error data based on at least one pixel data contained in the image data and a difference between pixel values of the at least one pixel data and at least one other pixel data adjacent to the at least one pixel data, And generating attribute information corresponding to the at least one error data, correcting the at least one error data based on a specified scheme, compressing the raw image data with the at least one error data corrected, and The compressed original image data and the attribute information, Processor < / RTI >
  • control circuit may be configured to generate flag data corresponding to a position of the at least one error data, as at least a part of the attribute information. Further, the control circuit may be configured to compress the attribute information with a specified compression method, and to transmit the compressed attribute information to the processor. In addition, the control circuit may determine a run value corresponding to the at least one error data based on the attribute information, and binarize the attribute information based on the determined run value, And may be set to compress the attribute information. In addition, the control circuit may use the at least one of a Kth-order exponential Golomb, a unary, a truncation unary, and a Golomb rice technique to obtain the property information Can be set to binary.
  • the processor can be configured to restore the compressed raw image data and to restore the corrected at least one error data based on the property information.
  • the processor may be configured to, based on the property information, correct the at least one error data using at least some other manner than the specified manner.
  • the processor may include at least one of an application processor (AP) and an image signal processor (ISP).
  • AP application processor
  • ISP image signal processor
  • an image sensor module may include an image sensor (e.g., an image sensor module) configured to generate image data corresponding to light reflected from, Based on a difference between pixel values of each of at least one pixel data included in the image data and at least one other pixel data adjacent to the at least one pixel data and the at least one pixel data, (E.g., correction circuitry 522) configured to detect at least one error data and to correct the at least one error data based on a specified scheme, An encoder (e.g., encoder 524) configured to compress the input signal; And a transmitter (e.g., transmitter 526) configured to transmit the compressed raw image data to a processor coupled to the image sensor module via an interface.
  • an image sensor e.g., an image sensor module
  • the correction circuit is configured to generate attribute information corresponding to the at least one error data
  • the transmitter can be configured to transmit the attribute information to the processor.
  • the correction circuit may be configured to generate flag data corresponding to a position of the at least one error data, at least in part of the attribute information.
  • the encoder is configured to compress the attribute information
  • the transmitter may be configured to transmit the compressed attribute information to the processor.
  • the encoder may be configured to check a run value of the at least one error data, to binarize the attribute information based on the run value, and to compress the binary attribute information.
  • the encoder may include the correction circuit. Further, the correction circuit may be configured to generate flag data corresponding to a position of the at least one error data, at least in part of the attribute information.
  • a processor may receive from a control circuit (e.g., control circuitry 120) Receiving the original image data including data and compressed by the control circuit and attribute information corresponding to the error data and restoring the compressed original image data and the error data, Based on the information, and to correct the error data with a specified correction scheme.
  • a control circuit e.g., control circuitry 120
  • the specified correction scheme may be at least partially different from the correction scheme performed by the control circuit.
  • the attribute information may include flag data corresponding to the position of the error data.
  • the processor can be configured to receive attribute information compressed by the control circuit from the control circuit, and to recover the compressed attribute information.
  • the processor may include at least one of an AP and an ISP.
  • FIG. 9 shows a block diagram of an electronic device for correcting error data in an image and compressing the corrected image in a network environment according to various embodiments.
  • an electronic device 901 in a network environment 900 may communicate with an electronic device 902 via a first network 998 (e.g., a short range wireless communication) Or a second network 999 (e. G., A remote wireless communication). ≪ / RTI > According to one embodiment, the electronic device 901 may communicate with the electronic device 904 through the server 908.
  • a first network 998 e.g., a short range wireless communication
  • a second network 999 e. G., A remote wireless communication.
  • the electronic device 901 may communicate with the electronic device 904 through the server 908.
  • electronic device 901 includes a processor 920 (e.g., processor 20), a memory 930, an input device 950, an acoustic output device 955, a display device 960, Module 970, a sensor module 976, an interface 977, a haptic module 979, a camera module 980, a power management module 988, a battery 989, a communication module 990, a subscriber identity module 996, and an antenna module 997.
  • at least one of these components may be omitted from electronic device 901 or other components may be added.
  • some components such as, for example, a sensor module 976 (e.g., a fingerprint sensor, an iris sensor, or an illuminance sensor) embedded in a display device 960 Can be integrated.
  • Processor 920 drives at least one other component (e.g., hardware or software component) of electronic device 901 that is coupled to processor 920 by driving software, e.g., program 940, And can perform various data processing and arithmetic operations.
  • Processor 920 loads and processes commands or data received from other components (e.g., sensor module 976 or communication module 990) into volatile memory 932 and stores the resulting data in nonvolatile memory 934, Lt; / RTI >
  • the processor 920 is operatively coupled to a main processor 921 (e.g., a central processing unit or application processor) and, independently, or additionally or alternatively, uses less power than the main processor 921, Or an auxiliary processor 923 (e.g., a graphics processing unit, an image signal processor (e.g., ISP 150), a sensor hub processor, or a communications processor) specific to the designated function.
  • the auxiliary processor 923 may be operated separately from or embedded in the main processor 921.
  • the coprocessor 923 may be used in place of the main processor 921, for example, while the main processor 921 is in an inactive (e.g., sleep) state, At least one component (e.g., display 960, sensor module 976, or communication module) of the electronic device 901, along with the main processor 921, 990), < / RTI > According to one embodiment, the coprocessor 923 (e.g., an image signal processor or communications processor) is implemented as a component of some other functionally related component (e.g., camera module 980 or communication module 990) .
  • an image signal processor or communications processor is implemented as a component of some other functionally related component (e.g., camera module 980 or communication module 990) .
  • the memory 930 may store various data used by at least one component (e.g., processor 920 or sensor module 976) of the electronic device 901, e.g., software (e.g., program 940) ), And input data or output data for the associated command.
  • the memory 930 may include a volatile memory 932 or a non-volatile memory 934.
  • the program 940 is software stored in the memory 930 and may include, for example, an operating system 942, middleware 944 or application 946. [
  • the input device 950 is an apparatus for receiving instructions or data to be used in a component (e.g., processor 920) of the electronic device 901 from the outside (e.g., a user) of the electronic device 901,
  • a component e.g., processor 920
  • a mouse e.g., a keyboard
  • a keyboard e.g., a keyboard
  • the sound output device 955 is a device for outputting a sound signal to the outside of the electronic device 901.
  • the sound output device 955 may include a speaker for general use such as a multimedia reproduction or a sound reproduction, .
  • the receiver may be formed integrally or separately with the speaker.
  • Display device 960 may be an apparatus for visually presenting information to a user of electronic device 901 and may include, for example, a display, a hologram device, or a projector and control circuitry for controlling the projector. According to one embodiment, the display device 960 may include a touch sensor or a pressure sensor capable of measuring the intensity of the pressure on the touch.
  • the audio module 970 can bidirectionally convert sound and electrical signals. According to one embodiment, the audio module 970 may acquire sound through an input device 950, or may be connected to an audio output device 955, or to an external electronic device (e.g., Electronic device 902 (e.g., a speaker or headphone)).
  • an external electronic device e.g., Electronic device 902 (e.g., a speaker or headphone)
  • the sensor module 976 may generate an electrical signal or data value corresponding to an internal operating state (e.g., power or temperature) of the electronic device 901, or an external environmental condition.
  • the sensor module 976 may be a gyro sensor, a gyro sensor, a pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared sensor, Or an illuminance sensor.
  • Interface 977 may support a designated protocol that may be wired or wirelessly connected to an external electronic device (e.g., electronic device 902).
  • the interface 977 may include 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 interface
  • audio interface an audio interface
  • the connection terminal 978 may be a connector such as an HDMI connector, a USB connector, an SD card connector, or an audio connector that can physically connect the electronic device 901 and an external electronic device (e.g., an electronic device 902) (E.g., a headphone connector).
  • an HDMI connector such as an HDMI connector, a USB connector, an SD card connector, or an audio connector that can physically connect the electronic device 901 and an external electronic device (e.g., an electronic device 902) (E.g., a headphone connector).
  • the haptic module 979 can convert an electrical signal into a mechanical stimulus (e.g., vibration or motion) or an electrical stimulus that the user can perceive through a tactile or kinesthetic sense.
  • the haptic module 979 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 980 can capture a still image and a moving image.
  • camera module 980 may include one or more lenses, an image sensor (e.g., image sensor 110), an image signal processor (e.g., ISP 150), or a flash.
  • image sensor e.g., image sensor 110
  • image signal processor e.g., ISP 150
  • the power management module 988 is a module for managing the power supplied to the electronic device 901, and may be configured as at least a part of, for example, a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 989 is an apparatus for supplying power to at least one component of the electronic device 901 and may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
  • the communication module 990 is responsible for establishing a wired or wireless communication channel between the electronic device 901 and an external electronic device (e.g., electronic device 902, electronic device 904, or server 908) Lt; / RTI > Communications module 990 may include one or more communications processors that support wired or wireless communications, which operate independently from processor 920 (e.g., an application processor).
  • communication module 990 includes a wireless communication module 992 (e.g., a cellular communication module, a short range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 994 (E.g., a local area network (LAN) communication module, or a power line communication module), and may communicate with a first network 998 (e.g., Bluetooth, WiFi direct, or infrared data association Communication network) or a second network 999 (e.g., a telecommunications network such as a cellular network, the Internet, or a computer network (e.g., a LAN or WAN)).
  • a wireless communication module 992 e.g., a cellular communication module, a short range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 994 E.g., a local area network (LAN) communication module, or a power line communication module
  • a first network 998
  • the wireless communication module 992 may use the user information stored in the subscriber identity module 996 to identify and authenticate the electronic device 901 within the communication network.
  • the antenna module 997 may include one or more antennas for transmitting or receiving signals or power externally.
  • the communication module 990 e.g., the wireless communication module 992 may transmit or receive signals to or from an external electronic device via an antenna suitable for the communication scheme.
  • Some of the components are connected to each other via a communication method (e.g., bus, general purpose input / output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI) (Such as commands or data) can be exchanged between each other.
  • a communication method e.g., bus, general purpose input / output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI) (Such as commands or data) can be exchanged between each other.
  • the command or data may be transmitted or received between the electronic device 901 and an external electronic device 904 via a server 908 connected to the second network 999.
  • Each of the electronic devices 902, 904 may be the same or a different kind of device as the electronic device 901.
  • all or a portion of the operations performed on the electronic device 901 may be performed on another or a plurality of external electronic devices.
  • the electronic device 901 in the event that the electronic device 901 has to perform certain functions or services automatically or upon request, the electronic device 901 may be capable of executing the function or service itself, And may request the external electronic device to perform at least some functions associated therewith.
  • the external electronic device receiving the request may execute the requested function or additional function and transmit the result to the electronic device 901.
  • the electronic device 901 may process the received result as is or additionally to provide the requested function or service.
  • cloud computing, distributed computing, or client-server computing technology may be used.
  • FIG. 10 shows a block diagram of a camera module for correcting error data in an image and compressing the corrected image in accordance with various embodiments.
  • a camera module 980 includes a lens assembly 1010, a flash 1020, an image sensor 1030 (e.g., an image sensor 110), an image stabilizer 1040, a memory 1050 (e.g., : Buffer memory), or an image signal processor 1060 (e.g., ISP 150).
  • the lens assembly 1010 can collect light emitted from an object that is an object of image capturing.
  • the lens assembly 1010 may include one or more lenses.
  • the camera module 980 may include a plurality of lens assemblies 1010. In this case, the camera module 980 may be, for example, a dual camera, a 360 degree camera, or a spherical camera.
  • the plurality of lens assemblies 1010 may have the same lens properties (e.g., angle of view, focal length, autofocus, f number, or optical zoom), or at least one lens assembly may have at least one lens lens assembly It can have one other lens attribute.
  • the lens assembly 1010 may include, for example, a wide-angle lens or a telephoto lens.
  • the flash 1020 may emit a light source used to enhance the light emitted from the subject. Flash 1020 may include one or more light emitting diodes (e.g., red-green-blue (RGB) LEDs, white LEDs, infrared LEDs, or ultraviolet LEDs), or xenon lamps.
  • RGB red-green-blue
  • the image sensor 1030 can acquire an image corresponding to the subject by converting the light transmitted from the subject through the lens assembly 1010 into an electrical signal.
  • the image sensor 1030 may be a selected one of the image sensors of different properties, such as, for example, an RGB sensor, a black and white (BW) sensor, an IR sensor, A plurality of image sensors having different attributes, or a plurality of image sensors having different attributes.
  • Each of the image sensors included in the image sensor 1030 may be implemented by, for example, a CCD (charged coupled device) sensor or a CMOS (complementary metal oxide semiconductor) sensor.
  • the image stabilizer 1040 is responsive to the movement of the camera module 980 or the electronic device 901 comprising it to at least partially compensate for negative effects (e.g., image blurring)
  • At least one lens or image sensor 1030 included in the assembly 1010 may be moved or controlled in a particular direction (e.g., adjusting the read-out timing).
  • the image stabilizer 1040 may be implemented, for example, as an optical image stabilizer and may include a gyro sensor (not shown) or an acceleration sensor (not shown) disposed either inside or outside the camera module 980 Can be used to detect the motion.
  • the memory 1050 may at least temporarily store at least a portion of the image acquired through the image sensor 1030 for subsequent image processing operations. For example, if image acquisition according to the shutter is delayed or a plurality of images are acquired at high speed, the acquired original image (e.g., a high resolution image) is stored in the memory 1050, and a corresponding copy An image (e.g., a low resolution image) may be previewed via display device 960. Thereafter, at least a portion of the original image that was stored in the memory 1050 may be acquired and processed by, for example, the image signal processor 1060 if the specified condition is satisfied (e.g., user input or system command). According to one embodiment, the memory 1050 may be comprised of at least a portion of the memory 930, or a separate memory operated independently thereof.
  • the image signal processor 1060 performs image processing (e.g., depth map generation, three-dimensional modeling, panorama generation, feature point extraction, and the like) on images acquired through the image sensor 1030 or images stored in the memory 1050, Image synthesis, or image compensation (e.g., noise reduction, resolution adjustment, brightness adjustment, blurring, sharpening, or softening) 1060 may perform control (e.g., exposure time control, or readout timing control, etc.) for at least one of the components (e.g., image sensor 1030) included in camera module 980.
  • image processing e.g., depth map generation, three-dimensional modeling, panorama generation, feature point extraction, and the like
  • Image synthesis e.g., image compensation
  • image compensation e.g., noise reduction, resolution adjustment, brightness adjustment, blurring, sharpening, or softening
  • control e.g., exposure time control, or readout timing control, etc.
  • the image processed by the signal processor 1060 may be stored back into the memory 1050 for further processing or may be stored in the external components of the camera module 980 such as the memory 930,
  • the image signal processor 1060 may comprise at least a portion of the processor 920 or may be coupled to the processor 920.
  • the processor 920 may be coupled to the processor 920,
  • the image processed by the image signal processor 1060 may be processed by the processor 920 as it is or after additional image processing, and then displayed on the display device 1060. In this case, (960). ≪ / RTI >
  • the electronic device 901 may include two or more camera modules 980, each having a different attribute or function.
  • at least one camera module 980 may be a wide angle camera or front camera, and at least one other camera module may be a telephoto camera or a rear camera.
  • FIG. 11 shows a block diagram for illustrating the operation of an electronic device and an external electronic device according to various embodiments.
  • an electronic device 1120 (e.g., electronic device 1 or electronic device 101) is coupled to an image sensor module 1121 (e.g., image sensor module 10), an ISP 1123 (e.g., (E.g., processor 20 or ISP 150) and memory 1125.
  • External electronic device 1130 e.g., electronic device 904, server 908, or electronic device 902 may include a recognition module 1131, an image processing module 1133, and a storage 1135 have.
  • the recognition module 1131 may be a logical module or may be implemented as a processor of the external electronic device 1130.
  • the image processing module 1133 may be implemented as a processor of the external electronic device 1130.
  • the processor of the external electronic device 1130 can perform both recognition and image processing.
  • the electronic device 1120 may include a communication module (e.g., an interface 977 or a communication module 990) capable of transmitting and receiving data to and from the external electronic device 1130.
  • the external electronic device 1130 may include a communication module capable of transmitting and receiving data with the electronic device 1120.
  • the image sensor module 1121 may acquire an image for an external object and generate a raw image 1122 (also referred to as raw image data) Lt; / RTI > The image sensor module 1121 can forward the raw image 1122 to the ISP 1123.
  • the image sensor module 1121 may generate a small raw image 1126 and transmit the generated small row image to the external electronic device 1130 via the communication module have.
  • a processor e.g., processor 20, ISP 150, processor 920, or coprocessor 923 of electronic device 1120 that is not image sensor module 1121 is a small- 1126, and transmit the generated small row image 1126 to the external electronic device 1130 through the communication module.
  • the image sensor module 1121 processes at least a portion of the raw image 1122 or at least some portion of the raw image 1122 to an external (e.g., processor 20, ISP 1123, or external electronic device 1130) ). ≪ / RTI > The image sensor module 1121 may send the compressed raw image to the ISP 1123 or external electronic device 1130 (e.g., image processing module 1133).
  • the ISP 1123 may receive a raw image 1122, a compressed raw image, or a small raw image received from the image sensor module 1121 To the external electronic device 1130.
  • the image sensor module 1121 may compress a portion of the raw image 1122 and temporarily store a portion of the compressed raw image 122 in a memory within the image sensor module 1121.
  • the recognition module 1131 may obtain the small row image 1126 through the communication module and segment the at least one image region from the small row image 1126.
  • the recognition module 1131 can recognize each of at least one image region separated by performing the segmentation.
  • image correction information 1132 including at least one of information associated with a plurality of image areas generated from the recognition module 1131 (e.g., coordinate information or recognition results of the image area) is generated .
  • the image correction information 1132 may be transmitted to the electronic device 1120.
  • the ISP 1123 can generate the corrected image by correcting the raw image 1122 using the image correction information 1132.
  • the corrected image may have the format of YUV.
  • the calibrated image may be stored in memory 1125.
  • the corrected image may be compressed according to the Joint Photographic Experts Group (JPEG) standard, and the compressed image may be stored in the memory 1125.
  • JPEG Joint Photographic Experts Group
  • the raw image 1122 generated by the image sensor module 1121 may be transmitted to the external electronic device 1130 separately from the small row image 1126.
  • the small row image 1126 is preferentially transmitted to the external electronic device 1130, and then the raw image 1122 is transmitted to the external May be transmitted to the electronic device 1130.
  • the raw image 1122 may be transmitted to the external electronic device 1130 while the ISP 1123 performs calibration for the raw image 1122.
  • the raw image 1122 may be uploaded to the external electronic device 1130 as generated by the image sensor module 1121 or may be uploaded with a pre-processed image that has undergone lens distortion compensation or noise removal.
  • the preprocessing may be performed in the external electronic device 1130.
  • the external electronic device 1130 may perform demosaic processing, image format modification, or preprocessing to increase the image recognition rate.
  • the image processing module 1133 of the external electronic device 1130 may correct the received raw image 1122.
  • the external electronic device 1130 may correct the raw image 1122 using the generated image correction information 1132 or may correct the raw image 1122 using the extended image correction information. Since the raw image 1122 may have a higher resolution than the small row image 1126, the image processing module 1133 of the external electronic device 1130 may obtain more extended image correction information from the higher resolution image.
  • the image processing module 1133 can generate the extended image correction information by using the generated image correction information and the raw image 1122 together.
  • the image processing module 1133 can acquire a high quality image 1134 by correcting the raw image 1122 using the extended image correction information.
  • the high resolution image 1134 may be stored in the storage 1135 of the external electronic device 1130 and downloaded by the electronic device 1120.
  • the small raw image 1124 refers to a raw image having a size less than the data size of the raw image 1122, and is not limited to a particular format or image generated by a particular method.
  • a small raw image 1124 may be generated by reducing the capacity of the raw image 1122.
  • Small raw image 1124 may also be referred to as a lightweight image.
  • the electronic device 1120 may generate a small raw image 1124 by applying various down-scale or down-sampling schemes to the raw image 1122 .
  • the electronic device 1120 may perform at least one of, for example, adjusting the resolution of the raw image 1122, selecting at least a portion of a plurality of frequency bands, or selecting at least one of a plurality of bit plane levels, It is possible to generate a small raw image 1124 having a size smaller than the size of the data of the image 1122.
  • the electronic device 1120 may generate a small raw image 1124, for example, by extracting a low frequency band from the raw image 1122.
  • the electronic device 1120 may generate a small raw image 1124, for example, by selecting some of the bit plane levels of the plurality of bit plane levels of the raw image 1122.
  • the small raw image 1124 may be an image that includes at least some of the information of the raw image 1122 but is smaller in capacity than the raw image 1122. [ Transferring a smaller raw image 1124 to the external electronic device 1130 instead of the raw image 1122 will result in a smaller amount of data to be transmitted and thus faster image transfer to the external electronic device 1130.
  • An electronic device can be various types of devices.
  • the electronic device can include, for example, at least one of a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance.
  • a portable communication device e.g., a smart phone
  • a computer device e.g., a laptop, a desktop, a smart phone
  • portable multimedia device e.g., a portable multimedia device
  • portable medical device e.g., a portable medical device
  • camera e.g., a camera
  • a wearable device e.g., a smart watch
  • a home appliance e.g., a smart bracelet
  • first component is "(functionally or communicatively) connected” or “connected” to another (second) component, May be connected directly to the component, or may be connected through another component (e.g., a third component).
  • module includes units comprised of hardware, software, or firmware and may be used interchangeably with terms such as, for example, logic, logic blocks, components, or circuits.
  • a module may be an integrally constructed component or a minimum unit or part thereof that performs one or more functions.
  • the module may be configured as an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present document may include instructions stored on a machine-readable storage medium (e.g., internal memory 936 or external memory 938) readable by a machine (e.g., a computer) Software (e.g., program 940).
  • the device may include an electronic device (e.g., electronic device 901 or electronic device 1) in accordance with the disclosed embodiments, which is an apparatus capable of calling stored instructions from the storage medium and operating according to the called instructions .
  • the instruction is executed by a processor (e.g., processor 920 or processor 20)
  • the processor may perform the function corresponding to the instruction, either directly or using other components under the control of the processor.
  • the instructions may include code generated or executed by the compiler or interpreter.
  • a device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-temporary' means that the storage medium does not include a signal and is tangible, but does not distinguish whether data is stored semi-permanently or temporarily on the storage medium.
  • a method according to various embodiments disclosed herein may be provided in a computer program product.
  • a computer program product can be traded between a seller and a buyer as a product.
  • a computer program product may be distributed in the form of a machine readable storage medium (eg, compact disc read only memory (CD-ROM)) or distributed online through an application store (eg PlayStore TM ).
  • an application store eg PlayStore TM
  • at least a portion of the computer program product may be temporarily stored, or temporarily created, on a storage medium such as a manufacturer's server, a server of an application store, or a memory of a relay server.
  • Each of the components may be comprised of a single entity or a plurality of entities, and some subcomponents of the aforementioned subcomponents may be omitted, or other subcomponents may be various May be further included in the embodiment.
  • some components e.g., modules or programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Studio Devices (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

본 문서에 개시된 전자 장치는, 프로세서 및 이미지 센서 모듈을 포함하고, 상기 이미지 센서 모듈은, 이미지 센서 및 상기 이미지 센서와 전기적으로 연결되고, 상기 프로세서와 인터페이스를 통해 연결된 제어 회로를 포함하고, 상기 제어 회로는, 상기 이미지 센서를 통해 원시 이미지 데이터를 획득하고, 상기 원시 이미지 데이터에 포함된 적어도 하나의 픽셀 데이터와, 상기 적어도 하나의 픽셀 데이터 및 상기 적어도 하나의 픽셀 데이터와 인접한 적어도 하나의 다른 픽셀 데이터 각각의 픽셀 값들 간 차이에 기반하여, 적어도 하나의 에러 데이터를 감지하고, 상기 적어도 하나의 에러 데이터에 대응하는 속성 정보를 생성하고, 상기 적어도 하나의 에러 데이터를 지정된 방식에 기반하여 보정하고, 상기 적어도 하나의 에러 데이터가 보정된 상기 원시 이미지 데이터를 압축하고, 및 상기 압축된 상기 원시 이미지 데이터 및 상기 속성 정보를 상기 프로세서로 전송하도록 설정될 수 있다.

Description

이미지의 에러 데이터를 보정하여 압축하기 위한 장치 및 그에 관한 방법
본 문서에서 개시되는 실시 예들은, 이미지 데이터 압축을 지원하기 위한 기술과 관련된다.
전자 장치는 카메라와 같은 이미지 센서를 통해 피사체(object)의 이미지 데이터를 획득할 수 있다. 이미지 센서는 획득된 이미지 데이터를 인터페이스를 통해 전자 장치의 프로세서로 전달할 수 있다.
고해상도 이미지 요구에 따라 발생하는 메모리 요구량 증가, 하드웨어 비용 증가, 및 전송 대역폭 증가를 해결하기 위하여, 이미지 센서는 획득된 이미지 데이터를 압축하고 압축된 이미지 데이터를 프로세서로 전달할 수 있다. 이미지 데이터 내에서 에러 데이터(또는 결함 픽셀(defect pixel))가 발생하는 경우, 발생된 에러 데이터에 의하여 이미지 데이터의 압축률이 감소하는 문제가 발생할 수 있다.
본 발명의 다양한 실시 예들은 이미지 데이터에 포함된 에러 데이터를 보정함으로써, 이미지 데이터의 압축률을 향상시키기 위한 전자 장치 및 그에 관한 방법을 제안하고자 한다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 프로세서 및 이미지 센서 모듈을 포함하고, 상기 이미지 센서 모듈은, 이미지 센서와, 상기 이미지 센서와 전기적으로 연결되고 상기 프로세서와 인터페이스를 통해 연결된 제어 회로를 포함하고, 상기 제어 회로는, 상기 이미지 센서를 통해 원시 이미지 데이터를 획득하고, 상기 원시 이미지 데이터에 포함된 적어도 하나의 픽셀 데이터와, 상기 적어도 하나의 픽셀 데이터 및 상기 적어도 하나의 픽셀 데이터와 인접한 적어도 하나의 다른 픽셀 데이터 각각의 픽셀 값들 간 차이에 기반하여, 적어도 하나의 에러 데이터를 감지하고, 상기 적어도 하나의 에러 데이터에 대응하는 속성 정보를 생성하고, 상기 적어도 하나의 에러 데이터를 지정된 방식에 기반하여 보정하고, 상기 적어도 하나의 에러 데이터가 보정된 상기 원시 이미지 데이터를 압축하고, 및 상기 압축된 상기 원시 이미지 데이터 및 상기 속성 정보를 상기 프로세서로 전송하도록 설정될 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 이미지 센서 모듈은, 피사체에서 반사되거나 또는 피사체에서 발생된 빛에 대응하는 이미지 데이터를 생성하도록 설정된 이미지 센서, 상기 이미지 데이터에 포함된 적어도 하나의 픽셀 데이터와, 상기 적어도 하나의 픽셀 데이터 및 상기 적어도 하나의 픽셀 데이터와 인접한 적어도 하나의 다른 픽셀 데이터들 각각의 픽셀 값 간 차이에 기반하여, 적어도 하나의 에러 데이터를 감지하고, 상기 적어도 하나의 에러 데이터를 지정된 방식에 기반하여 보정하도록 설정된 보정 회로, 상기 적어도 하나의 에러 데이터가 보정된 상기 이미지 데이터를 압축하도록 설정된 인코더, 및 상기 압축된 원시 이미지 데이터를 상기 이미지 센서 모듈과 인터페이스를 통해 연결된 프로세서로 전송하도록 설정된 송신기를 포함할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 프로세서는, 상기 프로세서와 인터페이스를 통해 연결된 제어 회로로부터, 상기 제어 회로에 의하여 보정된 에러 데이터를 포함하며 상기 제어 회로에 의하여 압축된 원시 이미지 데이터와, 상기 에러 데이터에 대응하는 속성 정보를 수신하고, 상기 압축된 원시 이미지 데이터 및 상기 에러 데이터를 복원하고, 여기서, 상기 에러 데이터는 상기 속성 정보에 기반하여 복원되고, 및 상기 에러 데이터를 지정된 보정 방식으로 보정하도록 설정될 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 전자 장치는 이미지 데이터에 포함된 에러 데이터를 보정함으로써 향상된 이미지 데이터 압축률을 제공할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 전자 장치는 에러 데이터에 대응하는 속성 정보를 이용하여 이미지 데이터를 복원함으로써 고해상도의 이미지 데이터를 사용자에게 제공할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 다양한 실시 예들에 따라 이미지의 에러 데이터를 보정하고, 보정된 이미지를 압축하기 위한 전자 장치의 블록도를 나타낸다.
도 2는 다양한 실시 예들에 따라 이미지 데이터를 압축하기 위한 제어 회로의 동작 흐름도를 나타낸다.
도 3은 다양한 실시 예들에 따라 이미지 데이터를 복원하기 위한 프로세서의 동작 흐름도를 나타낸다.
도 4는 다양한 실시 예들에 따른 이미지 데이터의 패턴을 나타낸다.
도 5는 다양한 실시 예들에 따른 제어 회로의 블록도를 나타낸다.
도 6은 다양한 실시 예들에 따른 인코더의 블록도를 나타낸다.
도 7은 다양한 실시 예들에 따라 파티션(partition)을 설명하기 위한 도면을 나타낸다.
도 8은 다양한 실시 예들에 따라 런(run) 값을 이진화하는 방법을 설명하기 위한 도면을 나타낸다.
도 9는 다양한 실시 예들에 따라 네트워크 환경 내에서 이미지의 에러 데이터를 보정하고, 보정된 이미지를 압축하기 위한 전자 장치의 블록도를 나타낸다.
도 10은 다양한 실시 예들에 따라 이미지의 에러 데이터를 보정하고, 보정된 이미지를 압축하기 위한 카메라 모듈의 블록도를 나타낸다.
도 11은 다양한 실시 예들에 따라 전자 장치 및 외부 전자 장치의 동작을 설명하기 위한 블록도를 도시한다. 도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.
도 1은 다양한 실시 예들에 따라 이미지의 에러 데이터를 보정하고, 보정된 이미지를 압축하기 위한 전자 장치의 블록도를 나타낸다.
도 1을 참조하면, 전자 장치(1)는 이미지 센서 모듈(10) 및 프로세서(20)를 포함할 수 있다. 다양한 실시 예들에 따르면, 전자 장치(1)는 일부 구성을 생략하여 구현되거나, 또는 도시되지 않은 구성을 더 포함하여 구현될 수 있다. 예를 들어, 전자 장치(1)는 디스플레이, 메모리, 및/또는 통신 모듈을 더 포함할 수 있다.
일 실시 예에 따르면, 이미지 센서 모듈(10)은 정지 영상 및 동영상을 촬영할 수 있다. 이미지 센서 모듈(10)은 이미지 센서(110) 및 제어 회로(120)를 포함할 수 있다. 다양한 실시 예들에 따르면, 이미지 센서 모듈(10)은 일부 구성을 생략하여 구현되거나, 또는 도시되지 않은 구성을 더 포함하여 구현될 수 있다. 예를 들어, 이미지 센서 모듈(10)은 렌즈, 조리개, 적외선 차단 필터 및 OIS(optical image stabilization) 구동 모듈을 더 포함할 수 있다.
일 실시 예에 따르면, 프로세서(20)는 전자 장치(1)의 전반적인 기능을 동작할 수 있다. 예를 들어, 프로세서(20)는 이미지 센서 모듈(10)로부터 획득된 이미지 데이터를 처리하고, 처리된 이미지 데이터를 이용하여 피사체의 정지 영상 또는 동영상을 표시하도록 전자 장치(1)에 포함된 디스플레이를 제어할 수 있다. 다른 예를 들어, 프로세서(20)는 처리된 이미지 데이터를 전자 장치(1)의 메모리에 저장할 수 있다. 또 다른 예를 들어, 프로세서(20)는 처리된 이미지 데이터를 다른 전자 장치 또는 서버에게 송신하도록 전자 장치(1)에 포함된 통신 모듈을 제어할 수 있다. 프로세서(20)는 애플리케이션 프로세서(application processor, AP) 및 이미지 시그널 프로세서(image signal processor, ISP) 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 이미지 센서 모듈(10) 및 프로세서(20)는 인터페이스를 통해 연결될 수 있다. 예를 들어, 이미지 센서 모듈(10)은 MIPI(mobile industry processor interface)에서 규정하는 D-PHY 및/또는 C-PHY 인터페이스를 이용하여 이미지 데이터를 프로세서(20)로 전달할 수 있다.
일 실시 예에 따르면, 이미지 센서(110)는 전하결합소자(CCD: charge-coupled device)) 또는 상보성 금속 산화막 반도체(CMOS: complementary metal-oxide-semiconductor)를 이용하여 구현될 수 있다. 이미지 센서(110)는 복수의 픽셀(pixel)들이 2차원적으로 배열된 픽셀 어레이(pixel array)를 포함할 수 있다. 픽셀 어레이는 복수 개의 픽셀 데이터들을 포함할 수 있다.
일 실시 예에 따르면, 이미지 센서(110)는 피사체에서 반사되거나 또는 피사체에서 발생된 빛에 대응하는 원시 이미지 데이터(raw image data)를 생성할 수 있다. 이미지 센서(110)는 수광된 빛에 응답하여, 이미지 데이터의 기초가 되는 전기적 신호(예: 전하의 이동, 전류)를 생성할 수 있다. 이미지 센서(110)에 의하여 획득된 원시 이미지 데이터는 제어 회로(120)를 통해 프로세서(20)로 전달될 수 있다.
일 실시 예에 따르면, 제어 회로(120)는 이미지 센서(110)에 의하여 생성된 이미지 데이터를 처리하기 위한 일련의 동작을 수행할 수 있다. 예를 들어, 제어 회로(120)는 원시 이미지 데이터에 포함된 적어도 하나의 에러 데이터(또는 결함 픽셀(defect pixel))를 감지하고, 감지된 적어도 하나의 에러 데이터를 지정된 방식에 기반하여 보정할 수 있다. 다른 예를 들어, 제어 회로(120)는 적어도 하나의 에러 데이터가 보정된 원시 이미지 데이터를 압축하고, 압축된 원시 이미지 데이터를 프로세서(20)에 포함된 수신기(130)에게 비트스트림(bitstream) 형태로 전송할 수 있다. 또 다른 예를 들어, 제어 회로(120)는 감지된 에러 데이터에 대응하는 속성 정보를 생성하고, 생성된 속성 정보를 프로세서(20) 또는 수신기(130)에게 전송할 수 있다. 또 다른 예를 들어, 제어 회로(120)는 생성된 속성 정보를 압축하고, 압축된 속성 정보를 프로세서(20) 또는 수신기(130)에게 전송할 수 있다. 전자 장치(1)가 원시 이미지 데이터를 압축하기 이전에 제어 회로(120)를 통해 에러 데이터를 보정함으로써, 전자 장치(1)는 이미지 센서 모듈(10)의 압축률이 저하되는 것을 방지할 수 있다.
일 실시 예에 따르면, 수신기(130)는 이미지 센서 모듈(10)(또는 제어 회로(120))로부터 송신된, 압축된 원시 이미지 데이터 및/또는 속성 정보를 수신할 수 있다. 제어 회로(120)에 의하여 생성된 속성 정보가 압축되는 경우, 수신기(130)는 제어 회로(120)로부터 압축된 속성 정보를 수신할 수 있다.
일 실시 예에 따르면, 디코더(140)는 수신기(130)로부터 수신된, 압축된 원시 이미지 데이터를 복원할 수 있다. 디코더(140)는 제어 회로(120)에 의하여 보정된 에러 데이터를 속성 정보에 기반하여 복원할 수 있다. 제어 회로(120)에 의하여 속성 정보가 압축되는 경우, 디코더(140)는 압축된 속성 정보를 복원할 수 있다. 다양한 실시 예들에 따라, 디코더(140)는 별도의 모듈일 수도 있고, 이미지 시그널 프로세서(image signal processor, ISP)(150)에 포함될 수도 있다.
일 실시 예에 따르면, ISP(150)는 복원된 원시 이미지 데이터를 지정된 방식으로 처리할 수 있다. ISP(150)는 복원된 원시 이미지 데이터를 처리하도록 설정된 적어도 하나의 이미지 프로세싱(image processing, IP) 블록을 포함할 수 있다. 예를 들어, 적어도 하나의 IP 블록은, 색상 보간(color interpolation), 렌즈 음영 보정(lens shading correction), 자동 화이트 밸런스(auto white balance), 색 수차 보정(lateral chromatic aberration correction), 광학 역 보정(optical inverse correction), 노이즈 제거(noise reduction), 에지 강화(edge enhancement), 감마 보정(gamma correction), 또는 아웃 오브 포커스(out of focusing 또는 blurring)을 위한 IP 블록일 수 있다. 다양한 실시 예들에 따라, ISP(150)는 프로세서(20)에 포함될 수도 있고, 전용의(dedicated) 모듈일 수도 있다.
일 실시 예에 따르면, ISP(150)는 속성 정보에 기반하여, 복원된 원시 이미지 데이터에 포함된 에러 데이터를 보정할 수 있다. ISP(150)는 제어 회로(150)에 의하여 수행되는 보정과 동일 또는 적어도 일부 다른 보정 방식을 이용하여 에러 데이터를 보정할 수 있다. 전자 장치(1)는 제어 회로(120)를 통해 에러 데이터를 보정함으로써 이미지 센서 모듈(10)의 압축률을 개선하는 것과 동시에, ISP(150)를 통해 추가적인 보정을 수행함으로써 향상된 이미지 품질을 제공할 수 있다.
도 2는 다양한 실시 예들에 따라 이미지 데이터를 압축하기 위한 제어 회로의 동작 흐름도를 나타낸다. 도 2에 도시된 동작들은 제어 회로(예: 제어 회로(120)) 또는 이미지 센서 모듈(예: 이미지 센서 모듈(10))에 의하여 수행될 수 있다.
도 2를 참조하면, 동작 210에서, 제어 회로(예: 제어 회로(120))는 피사체에 반사되거나 또는 피사체에서 발생된 빛에 대응하는 원시 이미지 데이터를 획득할 수 있다. 원시 이미지 데이터는 다양한 패턴을 포함할 수 있다. 원시 이미지 데이터에 포함된 다양한 이미지 데이터 패턴들은 도 3에서 예시된다.
동작 220에서, 제어 회로는 획득된 원시 이미지 데이터에 포함된 복수의 픽셀 데이터(pixel data)들 중에서 인접한 픽셀 데이터들의 픽셀 값들 간 차이에 기반하여 적어도 하나의 에러 데이터를 감지할 수 있다. 예를 들어, 제어 회로는 원시 이미지 데이터에 포함된 특정 픽셀 데이터의 픽셀 값과, 인접한 다른 픽셀 데이터들의 픽셀 값들의 차이를 미리 정해진 기준 값과 비교함으로써 특정 픽셀 데이터를 에러 데이터로 감지할 수 있다. 다른 예를 들어, 제어 회로는 특정 픽셀 데이터의 픽셀 값 및 인접한 픽셀 데이터의 픽셀 값 간 차이와 다른 인접한 픽셀 데이터들의 픽셀 값들 간 차이를 비교함으로써 특정 픽셀 데이터를 에러 데이터로 결정할 수 있다.
동작 230에서, 제어 회로는 감지된 에러 데이터에 대응하는 속성 정보를 생성할 수 있다. 속성 정보는, 예를 들어, 적어도 하나의 에러 데이터 및 인접한 복수의 픽셀 데이터들 각각의 비트 값을 포함할 수 있다. 속성 정보는 에러 데이터를 지시(indicating)하기 위한 플래그 데이터(flag data)(예: 비트 값)를 포함할 수 있다.
동작 240에서, 제어 회로는 지정된 방식에 기반하여 감지된 에러 데이터를 보정할 수 있다. 예를 들어, 제어 회로는 에러 데이터의 픽셀 값을 에러 데이터와 인접한 픽셀 데이터들 각각의 픽셀 값 평균으로 치환할 수 있다. 다른 예를 들어, 제어 회로는 에러 데이터의 픽셀 값을 에러 데이터와 인접한 픽셀 데이터들 중에서 픽셀 값의 상호 차이가 가장 작은 두 픽셀 데이터들의 픽셀 값 평균으로 치환할 수 있다.
동작 250에서, 제어 회로는 에러 데이터가 보정된 원시 이미지 데이터를 압축할 수 있다. 도 2에서 도시되지 않았지만, 구현 방법에 따라, 제어 회로는 원시 이미지 데이터뿐만 아니라 속성 정보도 압축할 수 있다.
동작 260에서, 제어 회로는 압축된 원시 이미지 데이터 및/또는 속성 정보를 프로세서(예: 프로세서(20)) 또는 프로세서에 포함된 수신기(예: 수신기(130))로 전송할 수 있다. 제어 회로는 비트 스트림 형태로 압축된 원시 이미지 데이터 및/또는 속성 정보를 전송할 수 있다. 도 2에서 도시되지 않았지만, 구현 방법에 따라, 제어 회로는 압축되지 않은 속성 정보뿐만 아니라 압축된 속성 정보도 전송할 수 있다. 제어 회로는 MIPI 인터페이스를 통해 압축된 이미지 데이터 및 속성 정보를 전송할 수 있다.
도 2에 도시된 동작들은 본 문서에서 개시된 다양한 실시 예들에 따라 변형될 수 있으며, 동작들의 순서는 변경될 수 있다. 또한, 동작들은 반드시 연속적으로 수행되어야 하는 것은 아니며, 각각의 동작들은 동시에 수행될 수 있다. 예를 들어, 제어 회로는 동작 220에서 에러 데이터를 감지한 이후에, 속성 정보를 생성하지 않고 에러 데이터를 보정(동작 240)할 수 있다. 이 경우, 제어 회로는 동작 260에서 압축된 원시 이미지 데이터만을 프로세서로 전송할 수 있다.
도 3은 다양한 실시 예들에 따라 이미지 데이터를 복원하기 위한 프로세서의 동작 흐름도를 나타낸다.
도 3을 참조하면, 동작 310에서, 프로세서(예: 프로세서(20))는 제어 회로(예: 제어 회로(120))로부터 압축된 원시 이미지 데이터 및 속성 정보를 수신할 수 있다. 프로세서는 MIPI 인터페이스를 통해 압축된 원시 이미지 데이터 및 속성 정보를 수신할 수 있다. 압축된 원시 이미지 데이터는 제어 회로에 의하여 보정된 에러 데이터를 포함할 수 있다. 속성 정보는 에러 데이터에 대응할 수 있다. 예를 들어, 속성 정보는 에러 데이터의 위치에 대응하는 플래그 데이터를 포함할 수 있다.
동작 320에서, 프로세서는 압축된 원시 이미지 데이터를 복원할 수 있다. 압축된 원시 이미지 데이터를 복원하는 동작의 일부로써, 프로세서는 속성 정보에 기반하여 에러 데이터를 복원할 수 있다.
동작 330에서, 프로세서는 복원된 에러 데이터를 지정된 보정 방식으로 보정할 수 있다. 프로세서는 제어 회로에 의해 수행된 보정 방식과 동일한 보정 방식을 수행할 수도 있고, 제어 회로에 의해 수행된 보정 방식과 적어도 일부 다른 보정 방식을 수행할 수도 있다.
도 3에 도시된 동작들은 본 문서에서 개시된 다양한 실시 예들에 따라 변형될 수 있으며, 동작들의 순서는 변경될 수 있다. 또한, 동작들은 반드시 연속적으로 수행되어야 하는 것은 아니며, 각각의 동작들은 동시에 수행될 수 있다. 예를 들어, 동작 310 내지 330의 동작에 더하여, 프로세서는 제어 회로로부터 압축된 속성 정보를 수신할 수 있다. 프로세서는 압축된 속성 정보를 복원하고, 복원된 속성 정보에 기반하여 에러 데이터를 복원 및 보정할 수 있다.
도 4는 다양한 실시 예들에 따른 이미지 데이터의 패턴을 나타낸다.
도 4를 참조하면, 이미지 센서(110)에 의해 획득된 원시 이미지 데이터는 이미지 데이터 410, 이미지 데이터 420, 이미지 데이터 430, 또는 이미지 데이터 440을 포함할 수 있다. 이미지 데이터 410 내지 440 각각의 패턴은 이미지 센서(110)에 포함된 복수의 필터들의 특성(예: 필터를 통과하는 빛의 파장 범위)에 따라 결정될 수 있다.
이미지 데이터 410 내지 440 각각에 포함된 단위 픽셀 412 내지 418, 422 내지 428, 432 내지 438 및 442 내지 448이 나타내는 색상(예: 빨간색(red), 초록색(green), 파란색(blue), 선녹색(emerald), 청록색(cyan), 노란색(yellow), 심홍색(magenta) 및 흰색(white))에 따라 이미지 데이터 410 내지 440 각각은 서로 다른 이미지 데이터 패턴을 포함할 수 있다. 예를 들어, 이미지 데이터 410은 베이어(bayer) 패턴, RGBE(red green blue emerald) 패턴, CYYM(cyan yellow yellow magenta) 패턴, CYGM(cyan yellow green magenta) 패턴, 및 RGBW(red green blue white) 패턴일 수 있다. 다른 예를 들어, 이미지 데이터 420은 RGBE #1 패턴일 수 있다. 또 다른 예를 들어, 이미지 데이터 430은 RGBW #2 패턴일 수 있다. 또 다른 예를 들어, 이미지 데이터 440은 RGBW #3 패턴일 수 있다.
도 5는 다양한 실시 예들에 따른 제어 회로의 블록도를 나타낸다.
도 5를 참조하면, 제어 회로(120)는 도 1 내지 도 2에서 서술된 제어 회로(120)의 기능을 수행하는 구성요소들을 포함할 수 있다. 제어 회로(120)는 보정 회로(522), 인코더(524), 및 송신기(526)를 포함할 수 있다.
일 실시 예에 따르면, 보정 회로(522)는 인코더(524)의 전단에 배치되어, 이미지 센서(예: 이미지 센서(110))로부터 획득된 이미지 데이터가 압축되기 전에 에러 데이터를 감지 및 보정할 수 있다. 보정 회로(522)는 이미지 데이터에 포함된 복수의 픽셀 데이터들의 픽셀 값 간 차이에 기반하여 에러 데이터를 감지할 수 있다. 보정 회로(522)는 감지된 에러 데이터를 지정된 방식에 기반하여 보정할 수 있다. 보정 회로(522)는 감지된 에러 데이터에 대응하는 속성 정보를 생성할 수 있다. 속성 정보는, 예를 들어, 적어도 하나의 에러 데이터와, 복수의 픽셀 데이터들의 비트 값을 포함할 수 있다. 다양한 실시 예들에 따르면, 보정 회로(522)는 생성된 속성 정보를 압축하기 위하여 속성 정보를 인코더(524)로 전달할 수도 있고, 속성 정보를 곧바로 송신기(526)를 통해 프로세서(20)로 전달할 수도 있다. 또한, 다양한 실시 예들에 따르면, 보정 회로(522)는 속성 정보를 생성하지 않고 에러 데이터가 보정된 이미지 데이터만을 인코더(524)로 전달할 수도 있고, 보정된 이미지 데이터와 속성 정보를 모두 인코더(524)로 전달할 수도 있다. 다양한 실시 예들에 따르면, 보정 회로(522)는 전용의 모듈일 수도 있고, 보정 회로(522)가 인코더(524)에 포함될 수도 있다.
일 실시 예에 따르면, 인코더(524)는 에러 데이터가 보정된 이미지 데이터를 압축할 수 있다. 인코더(524)는 보정된 이미지 데이터 이외에도 보정 회로(522)에 의하여 생성된 속성 정보를 압축할 수 있다. 인코더(524)는 다양한 압축 방식에 따라 속성 정보를 압축할 수 있다.
일 실시 예에 따르면, 송신기(526)는 압축된 이미지 데이터를 프로세서(20)에 포함된 수신기(130)에게 전송할 수 있다. 송신기(526)는 예를 들어, MIPI에서 규정하는 D-PHY 및/또는 C-PHY 인터페이스를 이용하여 압축된 이미지 데이터를 전송할 수 있다. 보정 회로(522)에 의하여 생성된 속성 정보가 인코더(524)에 의하여 압축되는 경우, 송신기(526)는 압축된 속성 정보를 수신기(130)에게 전송할 수 있다. 속성 정보가 보정 회로(522)로부터 송신기(526)에게 곧바로 전달되는 경우, 송신기(526)는 압축되지 않은 속성 정보를 수신기(130)에게 전송할 수 있다.
도 5 내지 7은 다양한 실시 예들에 따라 전자 장치가 속성 정보를 압축하는 동작을 설명하기 위한 도면을 나타낸다. 도 5 내지 7에 도시된 도면은 전자 장치가 런 렝스 부호화(run length encoding)를 이용하여 속성 정보를 압축하는 동작을 설명한다. 도 5 내지 7은 런 렝스 부호화를 이용하여 속성 정보를 압축하는 동작을 설명하지만, 동일한 원리가 원시 이미지 데이터를 압축하기 위하여 적용될 수 있다.
도 6은 다양한 실시 예들에 따른 인코더의 블록도를 나타낸다.
도 6을 참조하면, 인코더(524)는 런 렝스 부호화를 이용하여 속성 정보를 압축하도록 설정될 수 있다. 인코더(524)는 블록 610 내지 620을 포함할 수 있다. 블록 610 내지 620 각각은 인코더(524)에 포함된 별도의 하드웨어 구성 또는 모듈일 수도 있고, 인코더(524)에 의하여 구현되는 각각의 동작 흐름일 수도 있다.
블록 610에서, 인코더(524)는 보정 회로(522)로부터 수신된 속성 정보 및 미리 지정된 파티션(partition)의 크기에 기반하여 속성 정보에 포함된 비트 값들에 대한 런(run) 값을 확인할 수 있다.
파티션은 이미지 데이터에 포함된 복수의 픽셀 데이터들로 구성될 수 있다. 예를 들어, 도 7을 참조하면, 이미지 데이터 700은 복수의 라인(line)들을 포함할 수 있다. 픽셀 데이터 712 내지 714는 첫 번째 라인에 포함되고, 픽셀 데이터 716 내지 718은 두 번째 라인에 포함될 수 있다. 파티션은 하나의 라인에서 미리 지정된 개수만큼 픽셀 데이터를 포함할 수 있다. 예를 들어, 도 7에 도시된 바와 같이, 파티션 710은 픽셀 데이터 712 내지 714를 포함한 14개의 픽셀 데이터를 포함할 수 있다. 도 7은 파티션의 크기(즉, 픽셀 데이터들의 수)가 14인 이미지 데이터 700을 도시하였지만, 구현 방법에 따라 파티션의 크기는 다양할 수 있다. 파티션의 크기는 고정적일 수도 있고, 가변적일 수도 있다. 파티션의 크기를 나타내는 정보는 헤더(header) 영역에 포함될 수 있다.
인코더(524)는 파티션의 첫 번째 픽셀 값을 확인하고, 이후 픽셀 값들을 비교함으로써 런 값을 결정할 수 있다. 인코더(524)는 파티션에 포함된 픽셀 데이터들의 수만큼 비교 동작을 수행함으로써 런 값을 결정할 수 있다. 인코더(524)는 확인된 첫 번째 픽셀 값을 나타내는 정보를 헤더 영역에 삽입할 수 있다. 다양한 실시 예들에 따라, 파티션에 포함된 픽셀 데이터들의 픽셀 값이 모두 동일한 경우, 인코더(524)는 런 값을 별도로 생성하지 않고, 파티션에 포함된 픽셀 데이터들의 픽셀 값이 모두 동일함을 나타내는 정보를 헤더 영역에 삽입할 수 있다. 이미지 데이터가 비트 플레인 별로 동일하게 압축되는 경우, 인코더(524)는 동일한 픽셀 값을 가지는 파티션 및 비트 플레인의 수를 나타내는 정보를 헤더 영역에 삽입할 수 있다.
블록 620에서, 인코더(524)는 확인된 런 값을 이진화(binarization)할 수 있다. 인코더(524)는 인덱스(index)가 나타내는 이진화 기법에 기반하여 런 값을 이진화할 수 있다. 인덱스는 복수의 이진화 기법들 중에서 인코더(524)에 의하여 수행될 이진화 기법을 나타낼 수 있다. 이진화 기법은 예를 들어, k차 지수 골룸(kth-order Exp Golomb), 단항(Unary), 절삭형 단항(Truncation Unary), 절삭형 단항 + k차 지수 골룸, 골룸 라이스(Golomb rice) 중 적어도 하나를 포함할 수 있다.
예를 들어, 도 8을 참조하면, 인코더(524)는 표 810 내지 830에서 도시된 기법들 중 적어도 하나의 기법에 기반하여 런 값을 이진화할 수 있다. 표 810 내지 820은 k차 지수 골룸 기법을 나타낼 수 있다. 프리픽스(prefix)는 서픽스(suffix)가 몇 비트 값인지를 나타내기 위한 정보를 의미할 수 있다. 예를 들어, 표 810을 참조하면, 프리픽스 값이 1110인 경우, 프리픽스는 서픽스가 3비트 값으로 표현되고, 프리픽스 값이 111110인 경우, 프리픽스는 서픽스가 5비트 값으로 표현됨을 의미할 수 있다. 다른 예를 들어, 표 820을 참조하면, 프리픽스 값이 1110인 경우, 프리픽스는 서픽스가 5비트 값으로 표현되고, 프리픽스 값이 111110인 경우, 프리픽스는 서픽스가 7비트 값으로 표현됨을 의미할 수 있다. 서픽스는 런 값의 범위(value range) 및 최대 값(max value)에 기반하여 결정될 수 있다. 프리픽스의 비트 수 및 서픽스의 비트 수의 합은 비트의 수(Num of bit)로 표현될 수 있다. 표 830은 최대값이 4인 절삭형 단항 + 0차 지수 골룸 기법을 나타낼 수 있다. 예를 들어, 표 830에 따르면, 이진 비트 값(Bin String)에서 4자리는 절삭형 단항 기법에 의하여 결정되고, 나머지 자리는 0차 지수 골룸 기법에 의하여 결정될 수 있다.
상술한 바와 같이, 다양한 실시 예들에 따르면, 전자 장치(예: 전자 장치(1))는, 프로세서(예: 프로세서(20) 또는 ISP(150)) 및 이미지 센서 모듈(예: 이미지 센서 모듈(10))을 포함하고, 상기 이미지 센서 모듈은, 이미지 센서(예: 이미지 센서(110)) 및; 상기 이미지 센서와 전기적으로 연결되고, 상기 프로세서와 인터페이스를 통해 연결된 제어 회로(예: 제어 회로(120))를 포함하고, 상기 제어 회로는, 상기 이미지 센서를 통해 원시 이미지 데이터를 획득하고, 상기 원시 이미지 데이터에 포함된 적어도 하나의 픽셀 데이터와, 상기 적어도 하나의 픽셀 데이터 및 상기 적어도 하나의 픽셀 데이터와 인접한 적어도 하나의 다른 픽셀 데이터 각각의 픽셀 값들 간 차이에 기반하여, 적어도 하나의 에러 데이터를 감지하고, 상기 적어도 하나의 에러 데이터에 대응하는 속성 정보를 생성하고, 상기 적어도 하나의 에러 데이터를 지정된 방식에 기반하여 보정하고, 상기 적어도 하나의 에러 데이터가 보정된 상기 원시 이미지 데이터를 압축하고, 및 상기 압축된 상기 원시 이미지 데이터 및 상기 속성 정보를 상기 프로세서로 전송하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 제어 회로는 상기 속성 정보의 적어도 일부로써, 상기 적어도 하나의 에러 데이터의 위치에 대응하는 플래그 데이터를 생성하도록 설정될 수 있다. 또한, 상기 제어 회로는, 상기 속성 정보를 지정된 압축 방식으로 압축하고, 및 상기 압축된 속성 정보를 상기 프로세서로 전송하도록 설정될 수 있다. 또한, 상기 제어 회로는, 상기 속성 정보에 기반하여, 상기 적어도 하나의 에러 데이터에 대응하는 런(run) 값을 결정하고, 상기 결정된 런 값에 기반하여, 상기 속성 정보를 이진화하고, 상기 이진화된 상기 속성 정보를 압축하도록 설정될 수 있다. 또한, 상기 제어 회로는, k차 지수 골룸(Kth-order exponential Golomb), 단항(unary), 절삭형 단항(truncation unary), 및 골룸 라이스(Golomb rice) 기법 중 적어도 하나를 이용하여 상기 속성 정보를 이진화하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 프로세서는, 상기 압축된 상기 원시 이미지 데이터를 복원하고, 및 상기 속성 정보에 기반하여, 상기 보정된 상기 적어도 하나의 에러 데이터를 복원하도록 설정될 수 있다. 또한, 상기 프로세서는, 상기 속성 정보에 기반하여, 상기 지정된 방식과 적어도 일부 다른 방식을 이용하여 상기 적어도 하나의 에러 데이터를 보정하도록 설정될 수 있다. 또한, 상기 프로세서는, 애플리케이션 프로세서(application processor, AP) 및 이미지 시그널 프로세서(image signal processor, ISP) 중 적어도 하나를 포함할 수 있다.
상술한 바와 같이, 다양한 실시 예들에 따르면, 이미지 센서 모듈(예: 이미지 센서 모듈(10))은, 피사체에서 반사되거나 또는 피사체에서 발생된 빛에 대응하는 이미지 데이터를 생성하도록 설정된 이미지 센서(예: 이미지 센서(110)), 상기 이미지 데이터에 포함된 적어도 하나의 픽셀 데이터와, 상기 적어도 하나의 픽셀 데이터 및 상기 적어도 하나의 픽셀 데이터와 인접한 적어도 하나의 다른 픽셀 데이터들 각각의 픽셀 값 간 차이에 기반하여, 적어도 하나의 에러 데이터를 감지하고, 상기 적어도 하나의 에러 데이터를 지정된 방식에 기반하여 보정하도록 설정된 보정 회로(예: 보정 회로(522)), 상기 적어도 하나의 에러 데이터가 보정된 상기 이미지 데이터를 압축하도록 설정된 인코더(예: 인코더(524)); 및 상기 압축된 원시 이미지 데이터를 상기 이미지 센서 모듈과 인터페이스를 통해 연결된 프로세서로 전송하도록 설정된 송신기(예: 송신기(526))를 포함할 수 있다.
일 실시 예에 따르면, 상기 보정 회로는, 상기 적어도 하나의 에러 데이터에 대응하는 속성 정보를 생성하도록 설정되고, 상기 송신기는, 상기 속성 정보를 상기 프로세서로 전송하도록 설정될 수 있다. 또한, 상기 보정 회로는, 상기 속성 정보의 적어도 일부로, 상기 적어도 하나의 에러 데이터의 위치에 대응하는 플래그 데이터를 생성하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 인코더는, 상기 속성 정보를 압축하도록 설정되고, 상기 송신기는, 상기 압축된 속성 정보를 상기 프로세서로 전송하도록 설정될 수 있다. 또한, 상기 인코더는, 상기 적어도 하나의 에러 데이터의 런(run) 값을 확인하고, 상기 런 값에 기반하여 상기 속성 정보를 이진화하고, 상기 이진화된 속성 정보를 압축하도록 설정될 수 있다. 또한, 상기 인코더는, 상기 보정 회로를 포함할 수 있다. 또한, 상기 보정 회로는, 상기 속성 정보의 적어도 일부로, 상기 적어도 하나의 에러 데이터의 위치에 대응하는 플래그 데이터를 생성하도록 설정될 수 있다.
상술한 바와 같이, 다양한 실시 예들에 따르면, 프로세서(예: 프로세서(20))는, 상기 프로세서와 인터페이스를 통해 연결된 제어 회로(예: 제어 회로(120))로부터, 상기 제어 회로에 의하여 보정된 에러 데이터를 포함하며 상기 제어 회로에 의하여 압축된 원시 이미지 데이터와, 상기 에러 데이터에 대응하는 속성 정보를 수신하고, 상기 압축된 원시 이미지 데이터 및 상기 에러 데이터를 복원하고, 여기서, 상기 에러 데이터는 상기 속성 정보에 기반하여 복원되고, 및 상기 에러 데이터를 지정된 보정 방식으로 보정하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 지정된 보정 방식은 상기 제어 회로에 의하여 수행된 보정 방식과 적어도 일부 다를 수 있다. 일 실시 예에 따르면, 상기 속성 정보는, 상기 에러 데이터의 위치에 대응하는 플래그 데이터를 포함할 수 있다. 일 실시 예에 따르면, 상기 프로세서는 상기 제어 회로에 의하여 압축된 속성 정보를 상기 제어 회로로부터 수신하고, 및 상기 압축된 속성 정보를 복원하도록 설정될 수 있다. 상기 프로세서는, AP 및 ISP 중 적어도 하나를 포함할 수 있다.
도 9는 다양한 실시 예에 따른 네트워크 환경 내에서 이미지의 에러 데이터를 보정하고, 보정된 이미지를 압축하기 위한 전자 장치의 블록도를 나타낸다.
도 9를 참조하면, 네트워크 환경(900)에서 전자 장치(901)(예: 전자 장치(1))는 제 1 네트워크(998)(예: 근거리 무선 통신)를 통하여 전자 장치(902)와 통신하거나, 또는 제 2 네트워크(999)(예: 원거리 무선 통신)를 통하여 전자 장치(904) 또는 서버(908)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(901)는 서버(908)를 통하여 전자 장치(904)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(901)는 프로세서(920)(예: 프로세서(20)), 메모리(930), 입력 장치(950), 음향 출력 장치(955), 표시 장치(960), 오디오 모듈(970), 센서 모듈(976), 인터페이스(977), 햅틱 모듈(979), 카메라 모듈(980), 전력 관리 모듈(988), 배터리(989), 통신 모듈(990), 가입자 식별 모듈(996), 및 안테나 모듈(997)을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(901)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(960) 또는 카메라 모듈(980))가 생략되거나 다른 구성 요소가 추가될 수 있다. 어떤 실시 예에서는, 예를 들면, 표시 장치(960)(예: 디스플레이)에 임베디드된 센서 모듈(976)(예: 지문 센서, 홍채 센서, 또는 조도 센서)의 경우와 같이, 일부의 구성요소들이 통합되어 구현될 수 있다.
프로세서(920)는, 예를 들면, 소프트웨어(예: 프로그램(940))를 구동하여 프로세서(920)에 연결된 전자 장치(901)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(920)는 다른 구성요소(예: 센서 모듈(976) 또는 통신 모듈(990))로부터 수신된 명령 또는 데이터를 휘발성 메모리(932)에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리(934)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(920)는 메인 프로세서(921)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서(921)보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(923)(예: 그래픽 처리 장치, 이미지 시그널 프로세서(예: ISP(150)), 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 여기서, 보조 프로세서(923)는 메인 프로세서(921)와 별개로 또는 임베디드되어 운영될 수 있다.
이런 경우, 보조 프로세서(923)는, 예를 들면, 메인 프로세서(921)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(921)를 대신하여, 또는 메인 프로세서(921)가 액티브(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서(921)와 함께, 전자 장치(901)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(960), 센서 모듈(976), 또는 통신 모듈(990))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(923)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(980) 또는 통신 모듈(990))의 일부 구성 요소로서 구현될 수 있다. 메모리(930)는, 전자 장치(901)의 적어도 하나의 구성요소(예: 프로세서(920) 또는 센서모듈(976))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(940)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(930)는, 휘발성 메모리(932) 또는 비휘발성 메모리(934)를 포함할 수 있다.
프로그램(940)은 메모리(930)에 저장되는 소프트웨어로서, 예를 들면, 운영 체제(942), 미들 웨어(944) 또는 어플리케이션(946)을 포함할 수 있다.
입력 장치(950)는, 전자 장치(901)의 구성요소(예: 프로세서(920))에 사용될 명령 또는 데이터를 전자 장치(901)의 외부(예: 사용자)로부터 수신하기 위한 장치로서, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(955)는 음향 신호를 전자 장치(901)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버를 포함할 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다.
표시 장치(960)는 전자 장치(901)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 표시 장치(960)는 터치 회로(touch circuitry) 또는 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서를 포함할 수 있다.
오디오 모듈(970)은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 일 실시 예에 따르면, 오디오 모듈(970)은, 입력 장치(950)를 통해 소리를 획득하거나, 음향 출력 장치(955), 또는 전자 장치(901)와 유선 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(902)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(976)은 전자 장치(901)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(976)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(977)는 외부 전자 장치(예: 전자 장치(902))와 유선 또는 무선으로 연결할 수 있는 지정된 프로토콜을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(977)는 HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(978)는 전자 장치(901)와 외부 전자 장치(예: 전자 장치(902))를 물리적으로 연결시킬 수 있는 커넥터, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(979)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(979)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(980)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(980)은 하나 이상의 렌즈, 이미지 센서(예: 이미지 센서(110)), 이미지 시그널 프로세서(예: ISP(150)), 또는 플래시를 포함할 수 있다.
전력 관리 모듈(988)은 전자 장치(901)에 공급되는 전력을 관리하기 위한 모듈로서, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구성될 수 있다.
배터리(989)는 전자 장치(901)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(990)은 전자 장치(901)와 외부 전자 장치(예: 전자 장치(902), 전자 장치(904), 또는 서버(908))간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(990)은 프로세서(920)(예: 어플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(990)은 무선 통신 모듈(992)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(994)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함하고, 그 중 해당하는 통신 모듈을 이용하여 제 1 네트워크(998)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(999)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 모듈(990)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다.
일 실시 예에 따르면, 무선 통신 모듈(992)은 가입자 식별 모듈(996)에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(901)를 구별 및 인증할 수 있다.
안테나 모듈(997)은 신호 또는 전력을 외부로 송신하거나 외부로부터 수신하기 위한 하나 이상의 안테나들을 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(990)(예: 무선 통신 모듈(992))은 통신 방식에 적합한 안테나를 통하여 신호를 외부 전자 장치로 송신하거나, 외부 전자 장치로부터 수신할 수 있다.
상기 구성요소들 중 일부 구성요소들은 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시 예에 따르면, 명령 또는 데이터는 제 2 네트워크(999)에 연결된 서버(908)를 통해서 전자 장치(901)와 외부의 전자 장치(904) 간에 송신 또는 수신될 수 있다. 전자 장치(902, 904) 각각은 전자 장치(901)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시 예에 따르면, 전자 장치(901)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치에서 실행될 수 있다. 일 실시 예에 따르면, 전자 장치(901)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(901)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치에게 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(901)로 전달할 수 있다. 전자 장치(901)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 10은 다양한 실시 예들에 따라 이미지의 에러 데이터를 보정하고, 보정된 이미지를 압축하기 위한 카메라 모듈의 블록도를 나타낸다.
도 10을 참조하면, 카메라 모듈(980)은 렌즈 어셈블리(1010), 플래쉬(1020), 이미지 센서(1030)(예: 이미지 센서(110)), 이미지 스태빌라이저(1040), 메모리(1050)(예: 버퍼 메모리), 또는 이미지 시그널 프로세서(1060)(예: ISP(150))를 포함할 수 있다. 렌즈 어셈블리(1010)는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리(1010)는 하나 또는 그 이상의 렌즈들을 포함할 수 있다. 일 실시 예에 따르면, 카메라 모듈(980)은 복수의 렌즈 어셈블리(1010)들을 포함할 수 있다. 이런 경우, 카메라 모듈(980)은, 예를 들면, 듀얼 카메라, 360도 카메라, 또는 구형 카메라(spherical camera)일 수 있다. 복수의 렌즈 어셈블리(1010)들은 동일한 렌즈 속성(예: 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나, 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 렌즈 어셈블리와 적어도 하나의 다른 렌즈 속성을 가질 수 있다. 렌즈 어셈블리(1010)는, 예를 들면, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다. 플래쉬(1020)는 피사체로부터 방출되는 빛을 강화하기 위하여 사용되는 광원을 방출할 수 있다. 플래쉬(1020)는 하나 이상의 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 xenon lamp를 포함할 수 있다.
이미지 센서(1030)는 피사체로부터 렌즈 어셈블리(1010)를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 상기 피사체에 대응하는 이미지를 획득할 수 있다. 일 실시 예에 따르면, 이미지 센서(1030)는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 이미지 센서(1030)에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서로 구현될 수 있다.
이미지 스태빌라이저(1040)는 카메라 모듈(980) 또는 이를 포함하는 전자 장치(901)의 움직임에 반응하여, 촬영되는 이미지에 대한 상기 움직임에 의한 부정적인 영향(예: 이미지 흔들림)을 적어도 일부 보상하기 위하여 렌즈 어셈블리(1010)에 포함된 적어도 하나의 렌즈 또는 이미지 센서(1030)를 특정한 방향으로 움직이거나 제어(예: 리드 아웃(read-out) 타이밍을 조정 등)할 수 있다. 일 실시 예에 따르면, 이미지 스태빌라이저(1040)는, 예를 들면, 광학식 이미지 스태빌라이저로 구현될 수 있으며, 카메라 모듈(980)의 내부 또는 외부에 배치된 자이로 센서(미도시) 또는 가속도 센서(미도시)를 이용하여 상기 움직임을 감지할 수 있다.
메모리(1050)는 이미지 센서(1030)을 통하여 획득된 이미지의 적어도 일부를 다음 이미지 처리 작업을 위하여 적어도 일시 저장할 수 있다. 예를 들어, 셔터에 따른 이미지 획득이 지연되거나, 또는 복수의 이미지들이 고속으로 획득되는 경우, 획득된 원본 이미지(예: 높은 해상도의 이미지)는 메모리(1050)에 저장이 되고, 그에 대응하는 사본 이미지(예: 낮은 해상도의 이미지)는 표시 장치(960)을 통하여 프리뷰될 수 있다. 이후, 지정된 조건이 만족되면(예: 사용자 입력 또는 시스템 명령) 메모리(1050)에 저장되었던 원본 이미지의 적어도 일부가, 예를 들면, 이미지 시그널 프로세서(1060)에 의해 획득되어 처리될 수 있다. 일 실시 예에 따르면, 메모리(1050)는 메모리(930)의 적어도 일부로, 또는 이와는 독립적으로 운영되는 별도의 메모리로 구성될 수 있다.
이미지 시그널 프로세서(1060)는 이미지 센서(1030)을 통하여 획득된 이미지 또는 메모리(1050)에 저장된 이미지에 대하여 이미지 처리(예: 깊이 지도(depth map) 생성, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening))을 수행할 수 있다. 추가적으로 또는 대체적으로, 이미지 시그널 프로세서(1060)는 카메라 모듈(980)에 포함된 구성 요소들 중 적어도 하나(예: 이미지 센서(1030))에 대한 제어(예: 노출 시간 제어, 또는 리드 아웃 타이밍 제어 등)를 수행할 수 있다. 이미지 시그널 프로세서(1060)에 의해 처리된 이미지는 추가 처리를 위하여 메모리(1050)에 다시 저장 되거나 카메라 모듈(980)의 외부 구성 요소(예: 메모리(930), 표시 장치(960), 전자 장치(902), 전자 장치(904), 또는 서버(908))로 전달될 수 있다. 일 실시 예에 따르면, 이미지 시그널 프로세서(1060)는 프로세서(920)의 적어도 일부로 구성되거나, 프로세서(920)와 독립적으로 운영되는 별도의 프로세서로 구성될 수 있다. 별도의 프로세서로 구성된 경우, 이미지 시그널 프로세서(1060)에 의해 처리된 이미지들은 프로세서(920)에 의하여 그대로 또는 추가의 이미지 처리를 거친 후 표시 장치(960)를 통해 표시될 수 있다.
일 실시 예에 따르면, 전자 장치(901)는 각각 다른 속성 또는 기능을 가진 둘 이상의 카메라 모듈(980)들을 포함할 수 있다. 이런 경우, 예를 들면, 적어도 하나의 카메라 모듈(980)은 광각 카메라 또는 전면 카메라이고, 적어도 하나의 다른 카메라 모듈은 망원 카메라 또는 후면 카메라일 수 있다.
도 11은 다양한 실시 예들에 따라 전자 장치 및 외부 전자 장치의 동작을 설명하기 위한 블록도를 도시한다.
도 11을 참조하면, 전자 장치(1120)(예: 전자 장치(1) 또는 전자 장치(101))는, 이미지 센서 모듈(1121)(예: 이미지 센서 모듈(10)), ISP(1123)(예: 프로세서(20) 또는 ISP(150)) 및 메모리(1125)를 포함할 수 있다. 외부 전자 장치(1130)(예: 전자 장치(904), 서버(908), 또는 전자 장치(902))는, 인식 모듈(1131), 이미지 처리 모듈(1133) 및 저장소(1135)를 포함할 수 있다. 인식 모듈(1131)은 논리 모듈일 수도 있고, 외부 전자 장치(1130)의 프로세서로 구현될 수도 있다. 이미지 처리 모듈(1133)은 외부 전자 장치(1130)의 프로세서로 구현될 수 있다. 예를 들어, 외부 전자 장치(1130)의 프로세서는 인식과 이미지 처리를 모두 수행할 수 있다. 도 11에서 도시되지는 않았지만, 전자 장치(1120)는 외부 전자 장치(1130)와 데이터를 송수신할 수 있는 통신 모듈(예: 인터페이스(977) 또는 통신 모듈(990))을 포함할 수 있다. 외부 전자 장치(1130)는 전자 장치(1120)와 데이터를 송수신할 수 있는 통신 모듈을 포함할 수 있다.
일 실시 예에 따르면, 이미지 센서 모듈(1121)(예: 제어 회로(120))은, 외부 객체에 대한 이미지를 획득하고, 획득된 이미지에 대응하는 원시 이미지(1122)(또는 원시 이미지 데이터로 지칭될 수 있다)를 생성할 수 있다. 이미지 센서 모듈(1121)은, 원시 이미지(1122)를 ISP(1123)로 전달할 수 있다. 본 문서에 따른 다양한 실시 예들에서, 이미지 센서 모듈(1121)은 스몰 로우 이미지(1126)(small raw image)를 생성하고 생성된 스몰 로우 이미지를 통신 모듈을 통하여 외부 전자 장치(1130)로 송신할 수 있다. 다른 실시 예들에서, 이미지 센서 모듈(1121)이 아닌 전자 장치(1120)의 프로세서(예: 프로세서(20), ISP(150), 프로세서(920), 또는 보조 프로세서(923))가 스몰 로우 이미지(1126)를 생성하고, 생성된 스몰 로우 이미지(1126)를 통신 모듈을 통하여 외부 전자 장치(1130)로 송신할 수 있다. 이미지 센서 모듈(1121)은, 원시 이미지(1122)의 적어도 일부를 처리하거나, 원시 이미지(1122)의 적어도 일부를 외부(예: 프로세서(20), ISP(1123), 또는 외부 전자 장치(1130))로 송신하기 위해 압축할 수 있다. 이미지 센서 모듈(1121)은, 압축된 원시 이미지를 ISP(1123) 또는 외부 전자 장치(1130)(예: 이미지 처리 모듈(1133))로 송신할 수 있다. 일 실시 예에 따르면, ISP(1123)(예: 프로세서(20) 또는 ISP(150))는 이미지 센서 모듈(1121)로부터 수신된, 원시 이미지(1122), 압축된 원시 이미지, 또는 스몰 로우 이미지를 외부 전자 장치(1130)로 송신할 수 있다. 이미지 센서 모듈(1121)은 원시 이미지(1122)의 일부를 압축하고, 압축된 원시 이미지(122)의 일부를 이미지 센서 모듈(1121) 내부의 메모리에 임시로 저장할 수 있다.
일 실시 예에 따르면, 인식 모듈(1131)은 통신 모듈을 통하여 스몰 로우 이미지(1126)를 획득할 수 있고, 스몰 로우 이미지(1126)로부터 적어도 하나의 이미지 영역을 세그먼테이션(segmentation)할 수 있다. 인식 모듈(1131)은 세그먼테이션을 수행함으로써 구분된 적어도 하나의 이미지 영역 각각을 인식할 수 있다. 일 실시 예에 따르면, 인식 모듈(1131)로부터 생성된 복수의 이미지 영역과 연관된 정보(예를 들어, 이미지 영역의 좌표 정보 또는 인식 결과) 중 적어도 하나를 포함하는 이미지 보정 정보(1132)가 생성될 수 있다. 이미지 보정 정보(1132)는 전자 장치(1120)로 송신될 수 있다. ISP(1123)는 이미지 보정 정보(1132)를 이용하여 원시 이미지(1122)를 보정함으로써 보정된 이미지를 생성할 수 있다. 예를 들어, 보정된 이미지는 YUV의 포맷을 가질 수 있다. 보정된 이미지는 메모리(1125)에 저장될 수 있다. 다른 예를 들어, 보정된 이미지는 JPEG(Joint Photographic Experts Group) 규격에 따라 압축되고, 압축된 이미지는 메모리(1125)에 저장될 수 있다.
일 실시 예에 따르면, 이미지 센서 모듈(1121)에 의해 생성된 원시 이미지(1122)는 스몰 로우 이미지(1126)와 별도로 외부 전자 장치(1130)로 송신될 수 있다. 예를 들어, 원시 이미지(1122)는 스몰 로우 이미지(1126)에 비하여 용량이 크므로, 스몰 로우 이미지(1126)가 우선적으로 외부 전자 장치(1130)로 송신되고, 이후 원시 이미지(1122)가 외부 전자 장치(1130)로 송신될 수 있다. 다른 실시 예에서, ISP(1123)가 원시 이미지(1122)에 대한 보정을 수행하는 동안에 원시 이미지(1122)가 외부 전자 장치(1130)로 송신될 수도 있다. 원시 이미지(1122)는 이미지 센서 모듈(1121)에 의하여 생성된 그대로 외부 전자 장치(1130)로 업로드될 수도 있으며, 또는 렌즈 왜곡 보상 또는 노이즈 제거가 수행된 전처리 영상이 업로드될 수도 있다. 전처리는 외부 전자 장치(1130)에서 수행될 수도 있다. 외부 전자 장치(1130)는, 디모자이크(demosaic) 처리, 이미지 포맷 변형, 또는 영상 인식률을 높이기 위한 전처리를 수행할 수 있다.
일 실시 예에 따르면, 외부 전자 장치(1130)의 이미지 처리 모듈(1133)은, 수신된 원시 이미지(1122)를 보정할 수 있다. 외부 전자 장치(1130)는 기 생성된 이미지 보정 정보(1132)를 이용하여 원시 이미지(1122)를 보정할 수도 있으며, 또는 확장된 이미지 보정 정보를 이용하여 원시 이미지(1122)를 보정할 수도 있다. 원시 이미지(1122)는, 스몰 로우 이미지(1126)에 비하여 해상도가 높을 수 있으므로, 외부 전자 장치(1130)의 이미지 처리 모듈(1133)은 고해상도 이미지로부터 보다 확장된 이미지 보정 정보를 획득할 수 있다. 이미지 처리 모듈(1133)은, 기 생성된 이미지 보정 정보와 원시 이미지(1122)를 함께 이용하여 확장된 이미지 보정 정보를 생성할 수 있다. 이미지 처리 모듈(1133)은 확장된 이미지 보정 정보를 이용하여 원시 이미지(1122)를 보정함으로써, 고해상도 이미지(high quality image)(1134)를 획득할 수 있다. 고해상도 이미지(1134)는 외부 전자 장치(1130)의 저장소(1135)에 저장될 수 있으며, 전자 장치(1120)에 의하여 다운로드 될 수도 있다.
다양한 실시 예들에 따라, 스몰 원시 이미지(1124)는 원시 이미지(1122)의 데이터 크기보다 작은 크기를 갖는 원시 이미지를 의미하며, 특정 포맷이나 특정 방법에 의해 생성된 이미지로 제한 해석되는 것은 아니다. 예를 들어, 스몰 원시 이미지(1124)는 원시 이미지(1122)의 용량을 감소시킴으로써 생성될 수 있다. 스몰 원시 이미지(1124)는 경량 이미지로 지칭될 수도 있다. 예를 들어, 전자 장치(1120)는 원시 이미지(1122) 에게 다양한 다운-스케일(down-scale) 방식 또는 다운-샘플링(down-sampling)방식을 적용함으로써 스몰 원시 이미지(1124)를 생성할 수 있다. 전자 장치(1120)는, 예를 들어 원시 이미지(1122)의 해상도의 조정, 복수 개의 주파수 대역 중 적어도 일부를 선택, 또는 복수 개의 비트 플레인 레벨 중 적어도 하나의 선택 중 적어도 하나를 수행함으로써, 원시 이미지(1122)의 데이터의 크기보다 작은 크기를 가지는 스몰 원시 이미지(1124)를 생성할 수 있다. 전자 장치(1120)는, 예를 들어 원시 이미지(1122)로부터 저 주파수 대역을 추출함으로써 스몰 원시 이미지(1124)를 생성할 수 있다. 전자 장치(1120)는, 예를 들어 원시 이미지(1122)의 복수 개의 비트 플레인 레벨 중 일부의 비트 플레인 레벨들을 선택함으로써 스몰 원시 이미지(1124)를 생성할 수도 있다. 스몰 원시 이미지(1124)는, 원시 이미지(1122)의 정보를 적어도 일부 포함하되 원시 이미지(1122) 보다 용량이 작은 이미지일 수 있다. 원시 이미지(1122) 대신 스몰 원시 이미지(1124)를 외부 전자 장치(1130)에 전송하는 경우, 보다 작은 용량의 데이터를 전송하게 되므로, 외부 전자 장치(1130)로 이미지를 보다 빠르게 전송할 수 있다.
본 문서에 개시된 다양한 실시 예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치 중 적어도 하나를 포함할 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 문서의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 내장 메모리(936) 또는 외장 메모리(938))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램(940))로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(901) 또는 전자 장치(1))를 포함할 수 있다. 상기 명령이 프로세서(예: 프로세서(920) 또는 프로세서(20))에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.

Claims (15)

  1. 전자 장치에 있어서,
    프로세서; 및
    이미지 센서 모듈을 포함하고, 상기 이미지 센서 모듈은,
    이미지 센서 및;
    상기 이미지 센서와 전기적으로 연결되고, 상기 프로세서와 인터페이스를 통해 연결된 제어 회로를 포함하고, 상기 제어 회로는,
    상기 이미지 센서를 통해 원시 이미지 데이터를 획득하고,
    상기 원시 이미지 데이터에 포함된 적어도 하나의 픽셀 데이터와, 상기 적어도 하나의 픽셀 데이터 및 상기 적어도 하나의 픽셀 데이터와 인접한 적어도 하나의 다른 픽셀 데이터 각각의 픽셀 값들 간 차이에 기반하여, 적어도 하나의 에러 데이터를 감지하고,
    상기 적어도 하나의 에러 데이터에 대응하는 속성 정보를 생성하고,
    상기 적어도 하나의 에러 데이터를 지정된 방식에 기반하여 보정하고,
    상기 적어도 하나의 에러 데이터가 보정된 상기 원시 이미지 데이터를 압축하고, 및
    상기 압축된 상기 원시 이미지 데이터 및 상기 속성 정보를 상기 프로세서로 전송하도록 설정된, 전자 장치.
  2. 청구항 1에 있어서, 상기 제어 회로는,
    상기 속성 정보의 적어도 일부로, 상기 적어도 하나의 에러 데이터의 위치에 대응하는 플래그 데이터를 생성하도록 설정된 전자 장치.
  3. 청구항 1에 있어서, 상기 제어 회로는,
    상기 속성 정보를 지정된 압축 방식으로 압축하고, 및
    상기 압축된 속성 정보를 상기 프로세서로 전송하도록 설정된, 전자 장치.
  4. 청구항 3에 있어서, 상기 제어 회로는,
    상기 속성 정보에 기반하여, 상기 적어도 하나의 에러 데이터에 대응하는 런(run) 값을 결정하고,
    상기 결정된 런 값에 기반하여, 상기 속성 정보를 이진화하고,
    상기 이진화된 상기 속성 정보를 압축하도록 설정된, 전자 장치.
  5. 청구항 4에 있어서, 상기 제어 회로는,
    k차 지수 골룸(Kth-order exponential Golomb), 단항(unary), 절삭형 단항(truncation unary), 및 골룸 라이스(Golomb rice) 기법 중 적어도 하나를 이용하여 상기 속성 정보를 이진화하도록 설정된, 전자 장치.
  6. 청구항 1에 있어서, 상기 프로세서는,
    상기 압축된 상기 원시 이미지 데이터를 복원하고, 및
    상기 속성 정보에 기반하여, 상기 보정된 상기 적어도 하나의 에러 데이터를 복원하도록 설정된, 전자 장치.
  7. 청구항 1에 있어서, 상기 프로세서는,
    상기 속성 정보에 기반하여, 상기 지정된 방식과 적어도 일부 다른 방식을 이용하여 상기 적어도 하나의 에러 데이터를 보정하도록 설정된, 전자 장치.
  8. 청구항 1에 있어서, 상기 프로세서는,
    애플리케이션 프로세서(application processor, AP) 및 이미지 시그널 프로세서(image signal processor, ISP) 중 적어도 하나를 포함하는, 전자 장치.
  9. 이미지 센서 모듈에 있어서,
    피사체에서 반사되거나 또는 피사체에서 발생된 빛에 대응하는 이미지 데이터를 생성하도록 설정된 이미지 센서;
    상기 이미지 데이터에 포함된 적어도 하나의 픽셀 데이터와, 상기 적어도 하나의 픽셀 데이터 및 상기 적어도 하나의 픽셀 데이터와 인접한 적어도 하나의 다른 픽셀 데이터들 각각의 픽셀 값 간 차이에 기반하여, 적어도 하나의 에러 데이터를 감지하고, 상기 적어도 하나의 에러 데이터를 지정된 방식에 기반하여 보정하도록 설정된 보정 회로;
    상기 적어도 하나의 에러 데이터가 보정된 상기 이미지 데이터를 압축하도록 설정된 인코더; 및
    상기 압축된 원시 이미지 데이터를 상기 이미지 센서 모듈과 인터페이스를 통해 연결된 프로세서로 전송하도록 설정된 송신기를 포함하는, 이미지 센서 모듈.
  10. 청구항 9에 있어서, 상기 보정 회로는,
    상기 적어도 하나의 에러 데이터에 대응하는 속성 정보를 생성하도록 설정되고,
    상기 송신기는, 상기 속성 정보를 상기 프로세서로 전송하도록 설정된, 이미지 센서 모듈.
  11. 청구항 10에 있어서, 상기 보정 회로는,
    상기 속성 정보의 적어도 일부로, 상기 적어도 하나의 에러 데이터의 위치에 대응하는 플래그 데이터를 생성하도록 설정된, 이미지 센서 모듈.
  12. 청구항 10에 있어서, 상기 인코더는,
    상기 속성 정보를 압축하도록 설정되고,
    상기 송신기는, 상기 압축된 속성 정보를 상기 프로세서로 전송하도록 설정된, 이미지 센서 모듈.
  13. 청구항 12에 있어서, 상기 인코더는,
    상기 적어도 하나의 에러 데이터의 런(run) 값을 확인하고,
    상기 런 값에 기반하여 상기 속성 정보를 이진화하고,
    상기 이진화된 속성 정보를 압축하도록 설정된, 이미지 센서 모듈.
  14. 청구항 9에 있어서, 상기 인코더는,
    상기 보정 회로를 포함하도록 설정된, 이미지 센서 모듈.
  15. 청구항 10에 있어서, 상기 보정 회로는,
    상기 속성 정보의 적어도 일부로, 상기 적어도 하나의 에러 데이터의 위치에 대응하는 플래그 데이터를 생성하도록 설정된, 이미지 센서 모듈.
PCT/KR2018/003850 2017-07-20 2018-04-02 이미지의 에러 데이터를 보정하여 압축하기 위한 장치 및 그에 관한 방법 WO2019017562A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/631,943 US11451699B2 (en) 2017-07-20 2018-04-02 Device for correcting and compressing image error data, and method related thereto

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170091868A KR102471978B1 (ko) 2017-07-20 2017-07-20 이미지의 에러 데이터를 보정하여 압축하기 위한 장치 및 그에 관한 방법
KR10-2017-0091868 2017-07-20

Publications (1)

Publication Number Publication Date
WO2019017562A1 true WO2019017562A1 (ko) 2019-01-24

Family

ID=65015421

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/003850 WO2019017562A1 (ko) 2017-07-20 2018-04-02 이미지의 에러 데이터를 보정하여 압축하기 위한 장치 및 그에 관한 방법

Country Status (3)

Country Link
US (1) US11451699B2 (ko)
KR (1) KR102471978B1 (ko)
WO (1) WO2019017562A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120062940A (ko) * 2009-10-20 2012-06-14 애플 인크. 이미지 센서 내의 결함 픽셀들을 검출하고 교정하기 위한 시스템 및 방법
KR20120068665A (ko) * 2010-12-17 2012-06-27 한국전자통신연구원 이미지 센서 통신 장치 및 에러 보정 방법
KR20140112371A (ko) * 2013-03-13 2014-09-23 삼성전자주식회사 이미지를 처리하는 전자장치 및 방법
WO2015086717A2 (en) * 2013-12-10 2015-06-18 Canon Kabushiki Kaisha Improved palette mode in hevc
KR20170008816A (ko) * 2014-05-23 2017-01-24 퀄컴 인코포레이티드 팔레트 기반 비디오 코딩에서 팔레트 인덱스에 기초한 런 값들의 코딩

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5977991A (en) * 1994-06-16 1999-11-02 Sun Microsystems, Inc. Frame buffer system with non-overlapping pixel buffer access variable interleaving, nibble replication
US6995794B2 (en) * 1999-06-30 2006-02-07 Logitech Europe S.A. Video camera with major functions implemented in host software
CN101300473B (zh) * 2004-03-05 2012-10-31 以色列商奥宝科技股份有限公司 图案检视中偶生缺陷的验证
US7280049B2 (en) * 2004-05-17 2007-10-09 Xerox Corporation Encoder runout error correction circuit
JP2006026234A (ja) 2004-07-20 2006-02-02 Olympus Corp 生体内撮像装置および生体内撮像システム
US7920200B2 (en) 2005-06-07 2011-04-05 Olympus Corporation Image pickup device with two cylindrical lenses
JP4553798B2 (ja) 2005-06-07 2010-09-29 オリンパス株式会社 画像撮像装置
JP4337911B2 (ja) 2007-05-24 2009-09-30 ソニー株式会社 撮像装置、撮像回路、および撮像方法
KR101341482B1 (ko) * 2009-11-25 2013-12-13 한국전자통신연구원 부분 암호화 기능을 구비한 네트워크 촬영 장치
JP5566411B2 (ja) * 2012-01-26 2014-08-06 京セラドキュメントソリューションズ株式会社 画像読取装置
JP6300529B2 (ja) 2014-01-08 2018-03-28 キヤノン株式会社 撮像装置及びその制御方法、プログラム、記憶媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120062940A (ko) * 2009-10-20 2012-06-14 애플 인크. 이미지 센서 내의 결함 픽셀들을 검출하고 교정하기 위한 시스템 및 방법
KR20120068665A (ko) * 2010-12-17 2012-06-27 한국전자통신연구원 이미지 센서 통신 장치 및 에러 보정 방법
KR20140112371A (ko) * 2013-03-13 2014-09-23 삼성전자주식회사 이미지를 처리하는 전자장치 및 방법
WO2015086717A2 (en) * 2013-12-10 2015-06-18 Canon Kabushiki Kaisha Improved palette mode in hevc
KR20170008816A (ko) * 2014-05-23 2017-01-24 퀄컴 인코포레이티드 팔레트 기반 비디오 코딩에서 팔레트 인덱스에 기초한 런 값들의 코딩

Also Published As

Publication number Publication date
KR102471978B1 (ko) 2022-11-29
US11451699B2 (en) 2022-09-20
KR20190009911A (ko) 2019-01-30
US20200228700A1 (en) 2020-07-16

Similar Documents

Publication Publication Date Title
WO2020032473A2 (en) Electronic device for blurring image obtained by combining plural images based on depth information and method for driving the electronic device
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
WO2019156308A1 (ko) 광학식 이미지 안정화 움직임을 추정하기 위한 장치 및 방법
WO2020116844A1 (en) Electronic device and method for acquiring depth information by using at least one of cameras or depth sensor
WO2019164288A1 (en) Method for providing text translation managing data related to application, and electronic device thereof
WO2019172521A1 (en) Electronic device and method for correcting images based on image feature information and image correction scheme
WO2020130654A1 (en) Camera module having multi-cell structure and portable communication device including the same
WO2020032497A1 (en) Method and apparatus for incorporating noise pattern into image on which bokeh processing has been performed
WO2019107968A1 (ko) 전자 장치 및 그의 이미지 획득 방법
WO2019168374A1 (en) Method for generating plural information using camera to sense plural wave bandwidth and apparatus thereof
WO2021137555A1 (en) Electronic device comprising image sensor and method of operation thereof
WO2020190008A1 (en) Electronic device for auto focusing function and operating method thereof
WO2020171492A1 (ko) 촬영된 이미지를 처리하기 위한 방법 및 그 전자 장치
WO2019182359A1 (en) Electronic device for notifying of update of image signal processing and method for operating the same
WO2019156538A1 (ko) 카메라를 이용하여 획득한 이미지를 압축 처리하는 전자 장치 및 그 동작 방법
WO2019151808A1 (ko) 이미지 센서를 이용한 이미지 획득 과정에서 생성된 압축 속성을 이용하여 이미지를 압축하는 전자 장치 및 그 동작 방법
WO2019160262A1 (ko) 전자 장치 및 전자 장치의 이미지 처리 방법
WO2021261737A1 (ko) 이미지 센서를 포함하는 전자 장치 및 이에 대한 제어 방법
WO2021215795A1 (ko) 전자 장치의 컬러 필터, 및 그 전자 장치
KR20190010051A (ko) 이미지 데이터 및 이미지 촬영의 제어와 관련된 데이터의 크기에 기반하여, 이미지 데이터 및 이미지 촬영의 제어와 관련된 데이터를 전송하는 방법 및 이를 지원하는 전자 장치
WO2021235884A1 (ko) Awb를 수행하여 이미지를 생성하는 전자 장치 및 방법
WO2019017562A1 (ko) 이미지의 에러 데이터를 보정하여 압축하기 위한 장치 및 그에 관한 방법
WO2020197048A1 (en) Electronic device and method for securing personal information included in image
WO2020116967A1 (en) Electronic device and a method for generating an image through synthesis of date acquired using a plurality of pixels having different light-receiving time durations

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

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

Country of ref document: EP

Kind code of ref document: A1