Image processing method and electronic device implementing the same

Disclosed is an electronic device including an image sensor including a lens, a pixel array configured to convert light collected through the lens into an electric signal and to output the electric signal, a readout circuit configured to convert electric signals sequentially received for each row of the pixel array into pixel data and to output the pixel data, a memory, and a controller configured to control the pixel array, the readout circuit and the memory, and a processor electrically connected to the image sensor. The controller is configured to generate a frame by integrating the pixel data sequentially received from the readout circuit, generate a profile regarding flickering of the collected light using the generated frame and another frame generated prior to the generated frame, and store the generated profile in the memory, obtain a profile set including profiles corresponding to a plurality of frames from the memory, and transfer the generated frame and the obtained profile set to the processor.

PRIORITY

This application claims priority under 35 U.S.C. § 119(a) to Korean Patent Application Serial No. 10-2017-0006070, which was filed in the Korean Intellectual Property Office on Jan. 13, 2017, the entire content of which is incorporated herein by reference.

BACKGROUND

1. Field of the Disclosure

The present disclosure relates generally to an electronic device configured to recognize flickering from a frame obtained by an image sensor.

2. Description of the Related Art

A lamp (e.g., a fluorescent lamp) typically flickers periodically due to the frequency of the alternating current (AC) power. For example, when the power frequency is 50 Hz, the lamp flickers periodically at a frequency of 100 Hz, which is twice the frequency of the AC power at 50 Hz. Thus, a change of brightness is periodically generated with a period of 1/100 seconds. This variation of brightness may be displayed in a captured image as a striped pattern.

For example, in the case of an image sensor (e.g., a complementary metal oxide semiconductor (CMOS) image sensor) having an image photographing method with a rolling shutter method, light exposure timing may be different for each row of a pixel array. As the lamp flickers, a change of brightness may occur for each row. Such a change of brightness for each row may be displayed on a screen in a striped pattern.

An electronic device can prevent or suppress a striped pattern by detecting the flickering information from a captured image and correcting the captured image using the flickering information. However, in the case of an image sensor having a frame rate higher than a flickering frequency (e.g., can obtain one frame faster than a flickering time), the recognition of flickering information from the obtained frame may be impossible or at best difficult, and the resultant a striped pattern may be displayed.

SUMMARY

According to an aspect of the present disclosure, an electronic device configured to be capable of accurately recognizing flickering using an image sensor implementing a high frame rate is provided.

In accordance with an aspect of the present disclosure, an electronic device includes an image sensor including a lens, a pixel array configured to convert light collected through the lens into an electric signal and to output the electric signal, a readout circuit configured to convert electric signals sequentially received for each row of the pixel array into pixel data and to output the pixel data, a memory, and a controller configured to control the pixel array, the readout circuit and the memory; and a processor electrically connected to the image sensor. The controller is configured to generate a frame by integrating the pixel data sequentially received from the readout circuit, generate a profile regarding flickering of the collected light using the generated frame and another frame generated prior to the generated frame, and store the generated profile in the memory, and obtain a profile set including profiles corresponding to a plurality of frames from the memory and transfer the generated frame and the obtained profile set to the processor.

In accordance with another aspect of the present disclosure, an electronic device includes an image sensor including a lens, a pixel array configured to convert light collected through the lens into an electric signal and to output the electric signal, a readout circuit configured to convert electric signals sequentially received for each row of the pixel array into pixel data and to output the pixel data, a memory, and a controller configured to control the pixel array, the readout circuit and the memory; and a processor electrically connected to the image sensor. The controller is configured to generate one frame by integrating the pixel data sequentially received from the readout circuit, generate a profile regarding flickering of the collected light using the generated frame and another frame generated prior to the generated frame, and store the generated profile in the memory, analyze a plurality of profiles accumulated in the memory, transfer the generated frame and results of the analysis to the processor, wherein the results of the analysis comprise a flickering time.

In accordance with another aspect present disclosure, an electronic device includes an image sensor including a lens, a pixel array configured to convert light collected through the lens into an electric signal and to output the electric signal, a readout circuit configured to convert electric signals sequentially received for each row of the pixel array into pixel data and to output the pixel data, a memory, and a controller configured to control the pixel array, the readout circuit and the memory; and a processor electrically connected to the image sensor. The controller is configured to generate one frame by integrating the pixel data sequentially received from the readout circuit, generate a profile regarding flickering of the collected light using the generated frame and another frame generated prior to the generated frame, and store the generated profile in the memory, generate flickering information by analyzing a plurality of profiles accumulated in the memory, and adjust at least one of the generated frame, a light exposure time of one row of the pixel array, and a frame rate of the readout circuit using the flickering information.

In accordance with another aspect of the present disclosure, a method in an electronic device includes generating, by an image sensor of the electronic device, one frame by integrating sequentially collected pixel data; generating, by the image sensor, a profile regarding flickering of light using the generated frame and another frame generated prior to the generated frame and storing the generated profile in a memory; and obtaining, by the image sensor, a profile set comprising a plurality of profiles from the memory and transferring the generated frame and the obtained profile set to a processor of the electronic device.

DETAILED DESCRIPTION

Various embodiments of the present disclosure are described with reference to the accompanying drawings. The present disclosure includes various details to assist in that understanding, but these details are to be regarded as mere examples. Accordingly, those of ordinary skill in the art will recognize and understand that various changes and modifications of the various embodiments described herein can be made without departing from the scope and spirit of the present disclosure. In addition, descriptions of well-known functions and constructions may be omitted for clarity and conciseness.

Herein, singular forms such as “a”, “an”, and “the”, include the plural form unless the context clearly dictates otherwise. Thus, for example, reference to “a component surface” includes reference to one or more of such surfaces.

The expressions “include”, “have”, or “may include”, which may be used in describing various embodiments of the present disclosure, may refer, for example, to the existence of a corresponding disclosed function, operation, or component which can be used in various embodiments of the present disclosure and do not limit one or more additional functions, operations, or components. The expressions “or” or “at least one of A and/or B” includes any or all of combinations of words listed together. For example, the expression “A or B” or “at least A and/or B” may include A, may include B, or may include both A and B.

The expressions “1”, “2”, “first”, “second”, etc. used in various embodiments of the present disclosure may modify various components but do not limit the corresponding components. The above expressions do not limit the sequence and/or importance of the components, but may be used for distinguishing one component from other components. For example, a first user device and a second user device may indicate different user devices although both of them are user devices. Similarly, without departing from the scope of the present disclosure, a first structural element may be referred to as a second structural element. The second structural element also may be referred to as the first structural element.

When a component is referred to as being “coupled to” or “connected to” another component, the component may be directly coupled or connected to another component, or a further component may exist between the component and another component. However, when a component is “directly coupled to” or “directly connected to” another component, an additional component does not exist between the component and another component.

According to an embodiment of the present disclosure, an electronic device may be a device including a communication function. For example, the electronic device may include a smart phone, a tablet personal computer (PC), a mobile phone, a video phone, an e-book reader, a desktop PC, a laptop PC, a netbook computer, a personal digital assistant (PDA), a camera, a wearable device (e.g., a head-mounted-device (HMD) such as electronic glasses, electronic clothes, an electronic bracelet, an electronic necklace, an electronic accessary, an electronic tattoo, and a smart watch), etc.

The electronic device may be a smart home appliance having a communication function, such as a television (TV), a digital versatile disc (DVD) player, an audio player, a refrigerator, an air conditioner, a cleaning device, an oven, a microwave oven, a washing machine, an air cleaner, a set-top box, a TV box (e.g., Samsung HomeSync™, Apple TV™, or Google TV™), a game console, an electronic dictionary, an electronic key, a camcorder, and an electronic frame, etc.

The electronic device may include a medical device (e.g., a magnetic resonance angiography (MRA) device, a magnetic resonance imaging (MRI) device, a computed tomography (CT) device, a scanning device, an ultrasonic device, etc.), a navigation device, a global navigation satellite system (GNSS) receiver, an event data recorder (EDR), a flight data recorder (FDR), a vehicle infotainment device, electronic equipment for a ships (e.g., a navigation device, a gyro compass, etc.), avionics, a security device, a head unit for a vehicle, an industrial or home robot, an automatic teller machine (ATM), a point of sales (POS) device, and an Internet of things (IoT) device (e.g., a fire alarm, various sensors, an electric or gas meter unit, a sprinkler, a thermostat, a streetlamp, a toaster, sport outfits, a hot-water tank, a heater, a boiler, etc.), or the like.

The electronic device may include furniture or a part of a building/structure, an electronic board, an electronic signature receiving device, a projector, and a measuring device (e.g., a water meter, an electricity meter, a gas meter, a radio wave meter, etc.) including a camera function, etc. In addition, the electronic device may be a flexible device. The electronic device may be one or a combination of the above described various devices. However, the electronic device is not limited to the above described devices.

The term “user” used in the present disclosure may refer to a person who uses an electronic device or a device (e.g., an artificial intelligence electronic device) which uses an electronic device.

FIG. 1is a block diagram of an electronic device within a network environment100according to an embodiment of the present disclosure.

Referring toFIG. 1, the electronic device101may include various components including a bus110, a processor120(e.g., processing circuitry), a memory130, an input/output interface150(e.g., input/output circuitry), a display160, and a communication interface170(e.g., communication circuitry).

The bus110may be a circuit connecting the above described components and transmitting communication (e.g., a control message) between the above described components.

The processor120may include various processing circuitry and receive commands from other components (e.g., the memory130, the input/output interface150, the display160, or the communication interface170) through the bus110, analyze the received commands, and execute calculation or data processing according to the analyzed commands.

The memory130stores commands or data received from the processor120or other components (e.g., the input/output interface150, the display160, or the communication interface170), or generated by the processor120or other components. The memory130may store a software and/or a program140. For example, the program140may include a kernel141, middleware143, an application programming interface (API)145, and applications147. At least part of the kernel141, the middleware143, or the API145may be referred to as an operating system (OS).

The kernel141controls or manages system resources (e.g., the bus110, the processor120, or the memory130) used for executing an operation or function implemented by the remaining other programming modules, for example, the middleware143, the API145, or the applications147. The kernel141provides an interface for accessing individual components of the electronic device101from the middleware143, the API145, or the applications147to control or manage the components.

The middleware143performs a relay function of allowing the API145or the applications147to communicate with the kernel141to exchange data. In operation requests received from the applications147, the middleware143performs a control for the operation requests (e.g., scheduling or load balancing) by using a method of assigning a priority, by which system resources (e.g., the bus110, the processor120, the memory130, etc.) of the electronic device101can be used, to the applications147.

The API145is an interface by which the applications147can control a function provided by the kernel141or the middleware143, and includes, for example, at least one interface or function (e.g., command) for file control, window control, image processing, or character control.

The applications147may include a short message service (SMS)/multimedia messaging service (MMS) application, an email application, a calendar application, an alarm application, a healthcare application (e.g., an application measuring quantity of exercise or blood sugar level) or an environment information application (e.g., an application providing information on barometric pressure, humidity, or temperature). The applications147may be an application related to an information exchange between the electronic device101and an external electronic device (e.g., second external electronic device104). The applications147related to the information exchange may include, for example, a notification relay application for transferring particular information to the external electronic device or a device management application for managing the external electronic device.

For example, the notification relay application may include a function of transmitting notification information generated by another application (e.g., an SMS/MMS application, an email application, a healthcare application, or an environment information application) of the electronic device101to the external electronic device (e.g., second external electronic device104). The notification relay application may receive notification information from, for example, the second external electronic device104, and provide the received notification information to the user. The device management application may manage (e.g., install, remove, or update) at least a part of functions of the electronic device. For example, the device management application may turn on/off the external electronic device (or some components of the external electronic device), control a brightness of the display of the external electronic device, or communicate with the electronic device101, an application executed in the second external electronic device104, or a service (e.g., call service or message service) provided by the second external electronic device104.

The applications147may include an application designated according to an attribute (e.g., type of electronic device) of the second external electronic device104. For example, when the second external electronic device104is a moving picture experts group (MPEG-1 or MPEG-2) audio layer-3 (MP3) player, the applications147may include an application related to music reproduction. Similarly, when the second external electronic device104is a mobile medical device, the applications147may include an application related to healthcare. The applications147may include at least one of an application designated to the electronic device101and an application received from an external electronic device.

The input/output interface150may include various input/output circuitry and/or devices, and transmit a command or data input from the user through an input/output device (e.g., a sensor, a keyboard, or a touch screen) to the processor120, the memory130, the communication interface170, or the display160through, for example, the bus110. The input/output interface150may provide data on a user's touch input through a touch screen to the processor120. Further, the input/output interface150may output a command or data received through, for example, the bus110, from the processor120, the memory130, or the communication interface170through the input/output device (e.g., a speaker or a display). For example, the input/output interface150may output voice data processed through the processor120to the user through the speaker.

The display160may include, for example, a liquid crystal display (LCD), a flexible display, a transparent display, a light-emitting diode (LED) display, an organic LED (OLED) display, a microelectromechanical systems (MEMS) display, or an electronic paper display, etc. The display160may display information (e.g., text, image, video, icon, symbol, etc.) on the screen such that the user may view it. The display160may include a touch screen and receive, for example, a touch, a gesture, a proximity, or a hovering input using an electronic pen or a user's body. The display160may be one or more displays. For example, the display160may be included in the electronic device101or included in an external device having a wired or wireless connection with the electronic device101, thus outputting information offered by the electronic device101to users.

The display160may be attachable to or detachable from the electronic device101. For example, the display160may include an interface which can be mechanically or physically connected to the electronic device101. In case the display160is detached (e.g., separated) from the electronic device101by a user's selection, the display160may receive various control signals or image data from the processor120, e.g., through wireless communication.

The communication interface170may include various communication circuitry and establish communication between the electronic device101and an external electronic device. For example, the communication interface170may be connected to a network162through wired or wireless communication, and thereby communicate with an external electronic device. Additionally, the communication interface170may establish a short-range wireless communication with an external electronic device. The electronic device101may be connected to an external electronic without using the communication interface170. For example, based on at least one of a magnetic sensor, a contact sensor, a light sensor, etc. that is equipped in the electronic device101, the electronic device101may sense whether an external electronic device is contacted with the electronic device101, or whether an external electronic device, is attached to the electronic device101.

Wireless communication may use, as a cellular communication protocol, long-term evolution (LTE), LTE-advance (LTE-A), code division multiple access (CDMA), wideband CDMA (WCDMA), universal mobile telecommunications system (UMTS), wireless broadband (WiBro), global system for mobile communications (GSM), etc. A short-range communication163may include wireless fidelity (Wi-Fi), Bluetooth™ (BT), near field communication (NFC), magnetic secure transmission or near field magnetic data stripe transmission (MST), GNSS, etc. The GNSS may include at least one of, for example, a global positioning system (GPS), a Glonass, a Beidou navigation satellite system (Beidou), and a European global satellite-based navigation system (Galileo). Hereinafter, the term GPS may be interchangeably used with the term GNSS in the present disclosure.

Wired communication may include, for example, at least one of a universal serial bus (USB), high definition multimedia interface (HDMI), recommended standard-232 (RS-232), plain old telephone service (POTS), etc. The network162may include a telecommunication network including a computer network (e.g., local area network (LAN) or wide area network (WAN)), the Internet, and a telephone network.

The first and second external electronic devices102and104may be identical to, or different from, the electronic device101. The first and second external electronic devices102and104may include, for example, a plurality of electronic devices. The server106may include a single server or a group of servers. All or part of operations executed in the electronic device101may be executed in other electronic device(s), such as the first and second external electronic devices102and104, or the server106.

In case the electronic device101is required to perform a certain function or service automatically or by request, the electronic device101may request an external device to execute instead, or additionally at least part of, at least one or more functions associated with the required function or service. The requested device may execute the requested function and deliver the result of the execution to the electronic device101. Then, the electronic device101may offer the required function or service, based on the received result or by processing the received result. For the above, cloud computing technology, distributed computing technology, or client-server computing technology may be used, for example.

FIG. 2is a block diagram of an electronic device200according to an embodiment of the present disclosure.

Referring toFIG. 2the electronic device200may include part or all of the components in the electronic device101. The electronic device200may include one or more processors210(e.g., application processors (APs)), a communication module220(e.g., communication circuitry), a subscriber identification module (SIM)224, a memory230, a sensor module240, an input module250(e.g., input circuitry), a display module260, an interface270(e.g., interface circuitry), an audio module280, a camera module291, a power management module295, a battery296, an indicator297, and a motor298.

The processor210may include various processing circuitry, such as, a dedicated processor, a central processing unit (CPU), an AP, an application specific integrated circuit (ASIC), etc., and is capable of driving, for example, an OS or an application program to control a plurality of hardware or software components connected to the processor210, processing various data, and performing operations. The processor210may be implemented as, for example, a system on chip (SoC). The processor210may further include a graphic processing unit (GPU) and/or an image signal processor (ISP). The processor210may also include at least part of electronic device200, e.g., a cellular module221. The processor210is capable of loading commands or data received from at least one of the other components (e.g., a non-volatile memory) on a volatile memory, and processing the loaded commands or data. The processor210is capable of storing data in a non-volatile memory.

The communication module220may include the same or similar configurations as the communication interface170. For example, the communication module220may include various communication circuitry, such as, the cellular module221, a Wi-Fi module223, a BT module225, a GNSS module227(e.g., a GPS module, Glonass module, Beidou module, or Galileo module), an NFC module228, and a radio frequency (RF) module229.

The cellular module221is capable of providing a voice call, a video call, an SMS service, an Internet service, etc., through a communication network. The cellular module221is capable of identifying and authenticating the electronic device200in a communication network by using the SIM224(e.g., a SIM card). The cellular module221may be capable of performing at least part of the functions provided by the processor210. The cellular module221may also include a communication processor (CP).

Each of the cellular module221, Wi-Fi module223, the BT module225, the GNSS module227, and the NFC module228may include a processor and various communication circuitry for processing data transmitted or received through the corresponding module. At least part of the cellular module221, Wi-Fi module223, BT module225, GNSS module227, and NFC module228, (e.g., two or more modules) may be included in one integrated (IC) chip or one IC package.

The RF module229is capable of transmission or reception of communication signals, e.g., RF signals. The RF module229may include a transceiver, a power amp module (PAM), a frequency filter, a low noise amplifier (LNA), an antenna, etc. According to an embodiment of the present disclosure, at least one of the following modules including cellular module221, Wi-Fi module223, BT module225, GNSS module226, NFC module228, and MST module is capable of transmission or reception of RF signals through a separate RF module.

The SIM module224may include a card including a SIM and/or an embodied SIM. The SIM module224may also contain unique identification information, e.g., integrated circuit card identifier (ICCID), or subscriber information, e.g., international mobile subscriber identity (IMSI).

The memory230may include a built-in internal memory232and/or an external memory234. The built-in internal memory232may include a volatile memory, e.g., a dynamic random access memory (DRAM), a static RAM (SRAM), a synchronous dynamic RAM (SDRAM), etc., and a non-volatile memory, e.g., a one-time programmable read only memory (OTPROM), a programmable ROM (PROM), an erasable and programmable ROM (EPROM), an electrically erasable and programmable ROM (EEPROM), a mask ROM, a flash ROM, a flash memory (e.g., a NAND flash memory, an NOR flash memory, etc.), a hard drive, a solid state drive (SSD), etc.

The external memory234may include a flash drive, e.g., a compact flash (CF), a secure digital (SD), a micro-SD, a mini-SD, an extreme digital (xD), a multi-media card (MMC), a memory stick, etc. The external memory234may be connected to the electronic device200, functionally and/or physically, through various interfaces.

The memory230may store payment information and a payment application serving as one of the application programs. The payment information may refer to credit card numbers and personal identification numbers (PINs), corresponding to a credit card. The payment information may also include user authentication information, e.g., fingerprints, facial features, voice information, etc.

The sensor module240may measure or detect a physical quantity, or an operation state of the electronic device200, and convert the measured or detected information into an electrical signal. The sensor module240may include a gesture sensor240A, a gyro sensor240B, a barometer sensor240C, a magnetic sensor240D, an acceleration sensor240E, a grip sensor240F, a proximity sensor240G, a color sensor240H (e.g., a red, green, and blue (RGB) sensor), a biometric sensor240I, a temperature/humidity sensor240J, an illuminance sensor240K, and an ultraviolet (UV) sensor240M. Additionally or alternatively, the sensor module240may also include an E-nose sensor, an electromyography (EMG) sensor, an electroencephalogram (EEG) sensor, an electrocardiogram (ECG) sensor, an infrared (IR) sensor, an iris sensor, and/or a fingerprint sensor. The sensor module240may further include a control circuit for controlling one or more sensors included therein. The electronic device200may include a processor, configured as part of the processor210or a separate component, for controlling the sensor module240. In this case, while the processor210is operating in sleep mode, the processor may control the sensor module240.

The input module250may include a touch panel252, a digital pen sensor254, a key256, or an ultrasonic input device258. The touch panel252may use, for example, at least one of a capacitive type, a resistive type, an infrared type, and an ultrasonic type. The touch panel252may include a control circuit. The touch panel252may include a tactile layer to offer a tactile feedback to a user. The touch panel252may include a pressure sensor (or a force sensor) capable of measuring the strength or pressure of a user's touch. This pressure sensor may be formed integrally with or separately from the touch panel252.

The digital pen sensor254may be a part of the touch panel or include a separate sheet for recognition. The key256may include, for example, a physical button, an optical key, or a keypad. The ultrasonic input device258may detect ultrasonic waves occurring at an input tool through a microphone288and thereby identify data corresponding to the detected ultrasonic waves.

The display260may include a panel262, a hologram device264, or a projector266. The panel262may include the same or similar configurations as the display160. The panel262may be implemented to be flexible, transparent, or wearable. The panel262may also be incorporated into one module together with the touch panel252. The hologram device264may show a stereoscopic image in the air by using light interference. The projector266may display an image by projecting light onto a screen. The screen may be located inside or outside of the electronic device200. The display260may further include a control circuit for controlling the panel262, the hologram device264, or the projector266.

The interface270may include an HDMI272, a USB274, an optical interface276, or a D-subminiature (D-sub)278. The interface270may be included in the communication interface170. Additionally or alternatively, the interface270may include a mobile high-definition link (MHL) interface, a SD card/MMC interface, or an Infrared Data Association (IrDA) standard interface.

The audio module280may provide bidirectional conversion between a sound and an electronic signal. At least part of the components in the audio module280may be included in the input/output interface150. The audio module280may process sound information input or output through a speaker282, a receiver284, earphones286, the microphone288, etc.

The camera module291may take both still and moving images. The camera module291may include one or more image sensors (e.g., a front image sensor or a rear image sensor), a lens, an ISP, a flash (e.g., an LED or xenon lamp), etc.

The power management module295is capable of managing power of the electronic device200. The power management module295may include a power management integrated circuit (PMIC), a charger IC, or a battery gauge. The PMIC may employ wired charging and/or wireless charging methods. Examples of the wireless charging method are magnetic resonance charging, magnetic induction charging, and electromagnetic charging. To this end, the PMIC may further include an additional circuit for wireless charging, such as a coil loop, a resonance circuit, a rectifier, etc. The battery gauge may measure the residual capacity, change in voltage, current, or temperature of the battery296. The battery296takes the form of either a rechargeable battery or a solar battery.

The indicator297may display a specific status of the electronic device200or a part thereof (e.g., the processor210), e.g., a boot-up status, a message status, a charging status, etc. The motor298may convert an electrical signal into mechanical vibrations, such as, a vibration effect, a haptic effect, etc. The electronic device200may further include a processing unit (e.g., GPU) for supporting a mobile TV. The processing unit for supporting a mobile TV is capable of processing media data pursuant to standards, e.g., digital multimedia broadcasting (DMB), digital video broadcasting (DVB), mediaFlo™, etc.

Each of the elements described in the present disclosure may be formed with one or more components, and the names of the corresponding elements may vary according to the type of the electronic device. In various embodiments of the present disclosure, the electronic device may include at least one of the above described elements, and may exclude some of the elements or further include other additional elements. Further, some of the elements of the electronic device may be coupled to form a single entity while performing the same functions as those of the corresponding elements before the coupling.

FIG. 3is a block diagram of a programming module according to an embodiment of the present disclosure.

Referring toFIG. 3, the program module310may include an OS for controlling resources related to the electronic device and/or various applications running on the OS. The OS may be Android™, iOS™, Windows™, Symbian™, Tizen™, Bada™, etc.

The program module310may include a kernel320, middleware330, API360, and/or applications370. At least part of the program module310may be preloaded on the electronic device or downloaded from a server.

The kernel320may include a system resource manager321and/or a device driver323. The system resource manager321may include, for example, a process manager, a memory manager, and a file system manager. The system resource manager321may perform system resource control, allocation, and recall. The device driver323may include, for example, a display driver, a camera driver, a BT driver, a shared memory driver, a USB driver, a keypad driver, a Wi-Fi driver, and an audio driver. Further, the device driver323may include an inter-process communication (IPC) driver.

The middleware330may provide a function required in common by the applications370. The middleware330may provide a function through the API360to allow the applications370to use limited system resources within the electronic device. The middleware330may include a runtime library335, an application manager341, a window manager342, a multimedia manager343, a resource manager344, a power manager345, a database manager346, a package manager347, a connection manager348, a notification manager349, a location manager350, a graphic manager351, and a security manager352.

The runtime library335may include, for example, a library module used by a complier to add a new function through a programming language while the applications370are executed. According to an embodiment of the present disclosure, the runtime library335executes input and output, management of a memory, a function associated with an arithmetic function, etc.

The application manager341may manage, for example, a life cycle of at least one of the applications370. The window manager342may manage GUI resources used on the screen. The multimedia manager343may detect a format required for reproducing various media files, and perform an encoding or a decoding of a media file by using a codec suitable for the corresponding format. The resource manager344manages resources such as source code, memory, or storage space of at least one of the applications370.

The power manager345may operate together with a basic input/output system (BIOS) to manage a battery or other power sources, and provides power information required for the operation of the electronic device. The database manager346may manage generation, search, and change of a database to be used by at least one of the applications370. The package manager347may manage an installation or an update of an application distributed in a form of a package file.

The connection manager348may manage, for example, a wireless connection such as a Wi-Fi or BT connection. The notification manager349may display or notify a user of an event such as an arrival message, an appointment, a proximity alarm, etc., in a manner that does not disturb the user. The location manager350may manage location information of the electronic device. The graphic manager351may manage a graphic effect provided to the user or a user interface (UI) related to the graphic effect. The security manager352provides a general security function required for a system security or a user authentication. When the electronic device101has a call function, the middleware330may further include a telephony manager for managing a voice of the electronic device or a video call function.

The middleware330may include modules that provide various combinations of functions of the above described components. The middleware330may provide modules specialized according to the type of OS to provide distinct functions. The middleware330may be adaptively configured in such a way as to remove part of the existing components or to include new components.

The API360may be a set of API programming functions, and may be provided with a different configuration according to the type of the OS. For example, in Android or iOS, a single API set may be provided for each platform. In Tizen, two or more API sets may be provided.

The applications370may include one or more applications for performing various functions, for example, a home application371, a dialer application372, an SMS/MMS application373, an instant message application (IM)374, a browser application375, a camera application376, an alarm application377, a contact application378, a voice dial application379, an email application380, a calendar application381, a media player application382, an album application383, and a clock application384. Additionally, or alternatively, the applications370may include various other applications, such as, healthcare (e.g., an application for measuring the amount of exercise, blood sugar level, etc.), and environment information (e.g., an application for providing atmospheric pressure, humidity, temperature, etc.).

The applications370may include an application for supporting information exchange between an electronic device101and an external device, which is hereafter called information exchange application. The information exchange application is capable of including a notification relay application for relaying specific information to external devices or a device management application for managing external devices.

The notification relay application may include a function for relaying notification information, created in other applications of the electronic device (e.g., SMS/MMS application, email application, healthcare application, environment information application, etc.) to external devices. In addition, the notification relay application is capable of receiving notification information from external devices to provide the received information to the user.

The device management application may manage (e.g., install, remove or update) at least one function of an external device communicating with the electronic device. Examples of the function are a function for turning-on/off the external device or part of the external device, a function for controlling the brightness (or resolution) of the display, applications running on the external device, services provided by the external device, etc. Examples of the services are a call service, messaging service, etc.

The applications370may include an application (e.g., a healthcare application of a mobile medical device, etc.) having specified attributes of an external device. The applications370may include applications received from an external device. The applications370may include a preloaded application or third party applications that can be downloaded from a server. It should be understood that the components of the program module310may be called different names according to the type of OS.

According to various embodiments of the present disclosure, at least part of the program module310can be implemented with software, firmware, hardware, or any combination thereof. At least part of the program module310can be implemented (e.g., executed) by a processor120. At least part of the programming module310may include modules, programs, routines, sets of instructions or processes, etc., in order to perform one or more functions.

Herein, the term ‘module’ refers to a unit including hardware, software, firmware, or any combination thereof. The term ‘module’ may be interchangeable with the terms ‘unit’, ‘logic’, ‘logical block’, ‘component’, ‘circuit’, etc. A ‘module’ may be the smallest unit of an integrated component or a part thereof. A ‘module’ may be the smallest unit that performs one or more functions, or a part thereof. A ‘module’ may be mechanically or electronically implemented. For example, the ‘module’ may include at least one of a dedicated processor, a CPU, an ASIC chip, a field-programmable gate array (FPGA), and a programmable-logic device for performing certain operations, which are now known or will be developed in the future.

At least part of the method (e.g., operations) or system (e.g., modules or functions) can be implemented with instructions as programming modules that may be stored in computer-readable storage media. One or more processors can execute instructions, thereby performing the functions. An example of the computer-readable storage media may be the memory130. At least part of the programming modules can be implemented (e.g., executed) by a processor. At least part of the programming module may include modules, programs, routines, sets of instructions or processes, etc., in order to perform one or more functions.

Examples of computer-readable media include magnetic media, such as hard disks, floppy disks, and magnetic tapes, optical media such as compact disc-ROM (CD-ROM) disks and DVDs, magneto-optical media, such as floptical disks, and hardware devices that are specially configured to store and perform program instructions (e.g., programming modules), such as ROM, RAM, flash memory, etc. Examples of program instructions include machine code instructions created in assembly languages, such as a compiler, and code instructions created by a high-level programming language executable in computers using an interpreter, etc. The described hardware devices may be configured to act as one or more software modules in order to perform the operations and methods described above, or vice versa.

Modules or programming modules may include one or more components, remove part of the above-described components, or include new components. The operations performed by modules, programming modules, or the other components, may be executed in a serial, a parallel, a repetitive, or a heuristic fashion. Part of the operations can be executed in any other order, skipped, or executed with additional operations.

FIGS. 4A to 4Fillustrate the principle that a striped pattern is generated in the electronic device having an image sensor using a rolling shutter method.

Referring toFIG. 4A, in an image sensor, a pixel array may have a plurality of rows (e.g., Row 1 to Row n). The rows from the top row (e.g., Row 1) to the bottom row (e.g., Row n) may be sequentially exposed to light from top to bottom, and the pixel data of each row may be sequentially read out. Delay between the exposures of two contiguous rows may be the same as the readout time of one row. Accordingly, a frame readout time may be the same as the product of a row readout time and the number of all of rows. The image sensor may generate one frame by integrating pixel data read out by each row. The time between the light exposure start time of a frame and the light exposure start time of a next frame may be defined as a frame interval. Such a frame interval may be the same for each row.

Referring toFIG. 4B, a light may flicker at a frequency twice the frequency of the AC power. In such a light, if the light exposure time of each row is set as N times the flickering time wherein N is a natural number, a striped pattern may not be displayed in an image. For example, as shown inFIG. 4B, if the light exposure time410of each row is identical with a flickering time420(e.g., 1/100 seconds if the AC power frequency is 50 Hz), the amount of light received for each row may be the same and thus a striped pattern may not be displayed in an image. According to various embodiments of the present disclosure, if the light exposure time of each row is not N times the flickering time, the amount of light received for each row may be different and thus a striped pattern may appear in an image.

Referring toFIG. 4C, if a light exposure time415is twice a flickering time420, a striped pattern may not be displayed in an image. If a light exposure time is not N times the flickering time, however, a striped pattern may be displayed in an image. Examples in which a striped pattern may be displayed are described below.

Referring toFIG. 4D, a frame readout time430may be 1/30 seconds longer than a flickering time420(e.g., 1/100 seconds). Accordingly, information indicative of several times of flickering may be included in one frame, and whether a striped pattern is generated may be recognized from one frame.

Referring toFIG. 4E, a frame readout time440may be 1/60 seconds longer than the flickering time420(e.g., 1/100 seconds). Unlike inFIG. 4D, to recognize whether a striped pattern occurs may be relatively difficult compared to the case ofFIG. 4Dbecause information indicative of a piece of flickering only is included in one frame. Accordingly, some contiguous frames may be used to recognize whether a striped pattern occurs.

Referring toFIG. 4F, a frame readout time450may be, for example, 1/180 seconds shorter than the flickering time420(e.g., 1/100 seconds). Accordingly, flickering is not included in information indicative of one frame, and thus whether a striped pattern occurs may not be recognized using one frame. Accordingly, some contiguous frames may be used to recognize a striped pattern.

FIG. 5is a block diagram of an image sensor according to various embodiments of the present disclosure. The image sensor500may be an element of the camera module291included in the electronic device200, and may generate image data and transfer it to the processor540(e.g., an ISP or AP).

Referring toFIG. 5, the image sensor500may include an analog block510, a digital control block520, and a communication interface530.

The analog block510may convert light received through a lens into an electric signal and output the electric signal to the digital control block520. For example, the analog block510may include a driver511, a pixel array512, and a readout circuit513.

The driver511may output a control signal (e.g., a selection signal, a reset signal, and a transmission signal) to the pixel array512.

The pixel array512may include a plurality of pixels P(i, j) (wherein i and j indicate the location of a pixel, i is a row number and j is a column number) arranged in a two dimensional space. For example, each of the pixels may include a photoelectric transformation element (such as a photodetector or position sensitive detector (PSD)) and a plurality of transistors (e.g., a reset transistor, a transmission transistor, a selection transistor, and a driver transistor). Furthermore, the pixel array512may include a plurality of column lines. The column lines Lj may be electrically connected to the pixels arrayed in a column line, respectively. In the pixel array512, the pixels of an i-th row may receive a control signal from the driver511, may perform photoelectric transformation (converts a light signal into an electric signal) in response to the control signal, and may output the electric signal to the readout circuit513.

For example, the reset transistor may reset the floating diffusion (FD) area of a corresponding pixel in response to a reset signal RS. The transmission transistor may transmit electric charges accumulated in the photoelectric transformation element to the floating diffusion area in response to a transmission signal. The drive transistor may amplify the electrical potential of the electric charges accumulated in the floating diffusion area. The selection transistor may output the electrical potential amplified by the drive transistor to a column line in response to a selection signal.

The readout circuit513may sequentially select column lines one by one, may receive an electric signal from the selected column line, and may output the electric signal to the digital control block520. In this case, the frame rate (e.g., frame per second (fps)) of the readout circuit513may be faster than a flickering frequency. In other words, a so-called frame readout time taken for the readout circuit513to read out an electric signal from all of pixels may be faster than a flickering time of one cycle.

The readout circuit513may include an analog-to-digital converter (ADC)513aconfigured to convert an electric signal received from a selected column line into pixel data and output the pixel data. According to various embodiments of the present disclosure, the ADC513amay be included in the digital control block520or may be included as a separate element.

The digital control block520may generate one frame by integrating pixel data sequentially received from the readout circuit513. Furthermore, the digital control block520may generate the profile of a plurality of frames (e.g., a brightness difference between frames or a brightness difference for each row in one frame). According to an embodiment of the present disclosure, the digital control block520may output a frame and profile to a processor540through the communication interface530. The digital control block520may determine whether a striped pattern occurs by analyzing a profile, and may output the results of the analysis of the profile and a frame to the processor540if it is determined that the striped pattern occurs. The digital control block520may correct a frame in order to prevent the display of a striped pattern using the results of analysis (e.g., a flickering time), and may output the corrected frame to the processor540.

The digital control block520may further include a controller522configured to control the analog block510, the ADC513a, and memory521. The controller522may control the operation such as a reset operation (e.g., an operation of outputting a pixel reset signal and located in an i-th column) of the driver511, a transmission operation (e.g., an operation of outputting a transmission signal to the pixels of the i-th column), and a row line selection operation (e.g., an operation of outputting a selection signal to the pixels of the i-th column). Furthermore, the controller522may control the column line selection operation (e.g., an operation of enabling a j-th column line and disabling the remaining column lines) of the readout circuit513.

The controller522may generate one frame by integrating pixel data sequentially received from the readout circuit513, and may store the frame in the memory521. The controller522may generate a profile using a plurality of frames. The controller522may analyze a profile. The controller522may correct a frame using the results of analysis (e.g., a flickering time) and a profile (e.g., a brightness difference for each row) so that a striped pattern is not displayed. The controller522may control the analog block510using the results of analysis and a profile so that a striped pattern is not displayed.

The controller522may output a frame stored in the memory521to the processor540through the communication interface530along with a profile or the results of analysis. The controller522may also output a corrected frame to the processor540through the communication interface530.

The series of operations (e.g., including the reset operation, the transmission operation, the row line selection operation, the frame generation operation, and the output operation) may be called a streaming operation or streaming mode.

According to various embodiments of the present disclosure, the streaming operation may be performed based on the configuration information stored in the memory521. For example, the controller522may control the streaming operation based on the configuration information stored in the memory521in response to a streaming command received from the processor540through the communication interface530. If streaming is not necessary, the image sensor500may operate in a standby mode. For example, if the memory521is volatile memory, in the standby mode, the memory521may be supplied with power of the battery296through the power management module295, for example, so that configuration information is not lost due to power loss, and power of the battery296supplied to other elements (e.g., the analog block510and the controller522) may be stopped.

The memory521may receive configuration information for a streaming operation from the processor540through the communication interface530, and may store the configuration information. The configuration information stored in the memory521may include information about parameters (e.g., a light exposure time, a frame interval, a frame readout time, a frame rate, white balance, a shutter speed, ISO (international organization for standardization) sensitivity, etc.) for camera driving. Furthermore, the configuration information stored in the memory521may include information about a designated photographing mode (e.g., a moving image mode, a still photographing mode, a panorama mode, or a scene mode). For example, if the image sensor500switches from the standby mode to the streaming mode while the parameters for camera driving or information related to the photographing mode is maintained in the standby mode, the image sensor500may generate a frame using the information.

The communication interface530may connect the digital control block520to the processor540through at least one data line and transfer a command from the processor540to the digital control block520.

The communication interface530may be an interface configured to transfer configuration information, stored in the memory230, to the memory521under the control of the processor540or the controller522. For example, the communication interface530may receive a command for setting the operating mode of the image sensor500as the streaming mode or the standby mode from the processor540, and may transfer the command to the digital control block520.

The communication interface530may output a frame or corrected frame, generated by the digital control block520, to the processor540. Furthermore, the communication interface530may output a profile generated by the digital control block520or the results of analysis using the profile to the processor540. The communication interface530may be implemented in a serial communication manner. For example, serial communication between the digital control block520and the processor540may support a mobile industry processor interface (MIPI) communication method.

FIG. 6illustrates the structure of image data transferred from the image sensor to the processor according various embodiments of the present disclosure.

If the image sensor implements a frame rate (1/(frame readout time)) faster than a flickering frequency (e.g., 100 Hz or 120 Hz) and a frame rate is faster than a data output speed from the communication interface530to the processor540, image data transferred to the processor may have the structure illustrated inFIG. 6.

The controller522may generate an n-th generated frame (FRn) by integrating pixel data sequentially received from the readout circuit513. Furthermore, the controller522may generate an (n−1)-th generated profile (Pn-1). In this case, the Pn-1may include a value indicative of a brightness difference for each row between the FRnand an FRn-1. Alternatively, the Pn-1may be the value of the FRnitself other than a brightness difference. For example, the controller522may calculate the brightness average value of each of the FRn-1and the FRn, and calculate a difference between the brightness average values as the Pn-1.

Referring to (a) ofFIG. 6, image data may include the FRnand a profile set Pn-kto Pn-1located behind the FRnin structure. Furthermore, the embedded footer of the image data may include information on which the processor identifies the FRnand the profile set Pn-kto Pn-1. In this case, k may be determined based on a frame rate. For example, if a frame rate is 120 fps and a data output speed from the communication interface530to the processor540is 30 fps, k may be 8 which is twice the frame rate/data output speed (120/30). Alternatively, k may be determined to be 4 (120/30) or may be a value set by a user. Accordingly, the image data transferred to the processor540includes an FR9and a profile set P1, P2, P3, P4, P5, P6, P7, and P8. Subsequently transferred image data may include an FR10and a profile set P1, P2, P3, P4, P5, P6, P7, P8, and P9.

Referring to (b) ofFIG. 6, image data may include the FRnand a profile set Pn-kto Pn-1located ahead of the FRnin structure. For example, the profile set Pn-kto Pn-1may be included in the embedded header of the image data.

Referring to (c) ofFIG. 6, the FRnand the profile set Pn-kto Pn-1may be transferred to the processor540through different communication channels. For example, the FRnmay be transferred to the processor540through a first channel, and the profile set Pn-kto Pn-1may be transferred to the processor540through a second channel. In this case, the channel may mean identification information. For example, the FRnmay be transferred to the processor540along with identification information (i.e., the first channel). Furthermore, the profile set may be transferred to the processor540along with identification information (i.e., the second channel). The image data and the profile set may be transmitted through separate channels when they are output and may be distinguished by a data type in one channel.

The controller522may generate an FK, that is, the results of analysis, by analyzing the profile set Pn-kto Pn-1. For example, if the profiles of the profile set Pn-kto Pn-1have a pattern in which the profiles are regularly repeated (e.g., (P1, P2, P3, P4, P5, P6, P7, P8)==(1, 1, −1, −1, 1, 1, −1, −1)), the controller522may recognize that a light periodically flickers. Furthermore, the controller522may calculate a flickering time using the pattern information.

The controller522may check a light exposure time in the memory521and determine whether a striped pattern is displayed by comparing a flickering time with the light exposure time. Alternatively, the controller522may check a frame interval in the memory521and determine whether a striped pattern is displayed by comparing a flickering time with the frame interval.

If a light exposure time is N times the flickering time or a frame interval is N/2 times the flickering time, the controller522may determine or predict that a striped pattern will not be displayed when a frame is displayed. If the light exposure time is not N times the flickering time or the frame interval is not N/2 times the flickering time, the controller522may determine or predict that a striped pattern will be displayed. The FKmay include information indicating whether flickering is present or not, a flickering frequency (or flickering time), and information indicating whether a striped pattern is displayed. The analysis of the profile set Pn-kto Pn-1and the generation of the FK, that is, the results of the analysis, may be performed by the processor540that has received the profile set Pn-kto Pn-1from the controller522.

Referring to (d) ofFIG. 6, the FRnand the FKmay be generated by the controller522and transferred to the processor540through different communication channels. For example, the FRnmay be transferred to the processor540through a first channel, and the FKmay be transferred to the processor540through a second channel. Frames generated after the FRnmay be transferred to the processor540through the first channel.

Referring to (e) ofFIG. 6(, the controller522may correct the FRnusing the FKin order to prevent the display of a striped pattern. The controller522may output the corrected FRnto the processor540through the communication interface530. The correction of the FRnmay be performed by the processor540that has received the profile set Pn-kto Pn-1or the FKfrom the controller522.

According to an embodiment of the present disclosure, if it is determined or predicted that a striped pattern will be displayed, the controller522may control the driver511and the readout circuit513to change a frame rate so that a light exposure time becomes N times the flickering time or a frame interval becomes N/2 times the flickering time. Control for a change of the frame rate may be performed by the processor540that has determined or predicted that a striped pattern will be displayed using the profile set Pn-kto Pn-1or the FKreceived from the controller522.

FIG. 7is a flowchart illustrating an operating method of the image sensor according to various embodiments of the present disclosure.

In step710, the controller522of the image sensor500may generate one frame by integrating pixel data sequentially collected for each row of the pixel array512from the readout circuit513, and may store the frame in the memory521.

In step720, the controller522may generate a profile using the generated frame and another frame generated prior to the generated frame and stored in the memory521, and may store the profile in the memory521.

In step730, the controller522may obtain a profile set from the memory521and transfer the generated frame and the obtained profile set to the processor540through the communication interface530. In this case, the structure of the image data transferred to the processor540may be the same as illustrated in (a), (b) or (c) ofFIG. 6. The processor540may analyze the profile set, may correct the frame using the results of the analysis, and may display the corrected frame.

According to an embodiment of the present disclosure, steps710to730may be repeated until a mode switches (e.g., from the streaming mode to the standby mode).

According to an embodiment of the present disclosure, the generation and transfer of the profile set may be performed once or at several predetermined times. That is, after the profile set is transferred to the processor540, step720may be omitted and only the frame may be transferred to the processor540. The transfer of a frame may continue until a mode switches (e.g., from the streaming mode to the standby mode).

FIG. 8is a flowchart illustrating an operating method of the image sensor according to various embodiments of the present disclosure.

In step810, the controller522of the image sensor500may generate one frame by integrating pixel data sequentially collected for each row of the pixel array512from the readout circuit513, and may store the frame in the memory521.

In step820, the controller522may generate a profile using the generated frame and another frame generated prior to the generated frame and stored in the memory521, and may store the profile in the memory521.

In step830, the controller522may analyze the profile sets accumulated in the memory521. The results of the analysis, as illustrated inFIG. 6, may include information indicating whether flickering is present or not, a flickering frequency (or flickering time), and information indicating whether a striped pattern is displayed.

In step840, the controller522may transfer the generated frame and the results of the analysis to the processor540through the communication interface530. In this case, the structure of the image data transferred to the processor540may be the same as illustrated in (d) ofFIG. 6. The processor540may correct the frame using the results of the analysis and display the corrected frame.

According to an embodiment of the present disclosure, steps810to840may be repeated until a mode switches (e.g., from the streaming mode to the standby mode).

According to an embodiment, the generation and transfer of flickering information may be performed once or several predetermined times. That is, after the results of the analysis are transferred to the processor540, step820and step830may be omitted and only the frame may be transferred to the processor540. The transfer of a frame may continue until a mode switches (e.g., from the streaming mode to the standby mode).

FIG. 9is a flowchart illustrating an operating method of the image sensor according to various embodiments of the present disclosure.

In step910, the controller522of the image sensor500may generate one frame by integrating pixel data sequentially collected for each row of the pixel array512from the readout circuit513, and may store the frame in the memory521.

In step920, the controller522may generate a profile using the generated frame and another frame generated prior to the generated frame and stored in the memory521, and may store the profile in the memory521.

In step930, the controller522may analyze the profile sets accumulated in the memory521. The results of the analysis, as illustrated inFIG. 6, may include information indicating whether flickering is present or not, a flickering frequency (or flickering time), and information indicating whether a striped pattern is displayed, for example.

In step940, the controller522may correct the generated frame using flickering information.

In step950, the controller522may transfer the corrected frame to the processor540through the communication interface530. In this case, the structure of the image data transferred to the processor540may be the same as illustrated in (e) ofFIG. 6.

According to an embodiment of the present disclosure, the transfer of the corrected frame may continue until a mode switches (e.g., from the streaming mode to the standby mode).

According to various embodiments of the present disclosure, an electronic device may include an image sensor configured to include a lens, a pixel array configured to convert light collected through the lens into an electric signal and to output the electric signal, a readout circuit configured to convert electric signals sequentially received for each row of the pixel array into pixel data and to output the pixel data, memory, and a controller configured to control the pixel array, the readout circuit and the memory; and a processor electrically connected to the image sensor. The controller may be configured to generate one frame by integrating the pixel data sequentially received from the readout circuit, generate a profile regarding the flickering of the collected light using the generated frame and another frame generated prior to the generated frame, store the generated profile in the memory, obtain a profile set including profiles corresponding to a plurality of frames from the memory, and transfer the generated frame and the obtained profile set to the processor.

The profile may include a value indicative of a brightness difference between frames or a value indicative of a brightness difference between rows in one frame.

The number of profiles transferred to the processor may be determined based on the frame rate of the readout circuit and a data output speed for the processor.

The image data transferred to the processor may include the generated frame and the obtained profile set located behind or ahead of the generated frame in structure.

The controller may be configured to transfer the generated frame to the processor along with identification information indicative of the generated frame and to transfer the obtained profile set to the processor along with identification information indicative of the obtained profile set.

The processor may be configured to determine whether a striped pattern is displayed in an image to be displayed by analyzing the profile set received from the controller, to correct a frame received from the controller if it is determined that the striped pattern is displayed, and to display the corrected frame.

The processor may be configured to calculate a flickering time by analyzing the profile set received from the controller.

The processor may be configured to recognize a pattern of regularly repeated profiles of the profile set received from the controller and to calculate the flickering time using the recognized pattern information.

The processor may be configured to determine whether a striped pattern is displayed in an image to be displayed by analyzing the profile set received from the controller and to control the image sensor to change the light exposure time of one row of the pixel array or the frame rate of the readout circuit if it is determined that the striped pattern is displayed.

According to various embodiments of the present disclosure, an electronic device may include an image sensor configured to include a lens, a pixel array configured to convert light collected through the lens into an electric signal and to output the electric signal, a readout circuit configured to convert electric signals sequentially received for each row of the pixel array into pixel data and to output the pixel data, memory, and a controller configured to control the pixel array, the readout circuit and the memory; and a processor electrically connected to the image sensor. The controller may be configured to generate one frame by integrating the pixel data sequentially received from the readout circuit, generate a profile regarding the flickering of the collected light using the generated frame and another frame generated prior to the generated frame, store the generated profile in the memory, analyze a plurality of profiles accumulated in the memory, and transfer the generated frame and results of the analysis to the processor. The results of the analysis may include a flickering time.

According to various embodiments of the present disclosure, an electronic device may include an image sensor configured to include a lens, a pixel array configured to convert light collected through the lens into an electric signal and to output the electric signal, a readout circuit configured to convert electric signals sequentially received for each row of the pixel array into pixel data and to output the pixel data, memory, and a controller configured to control the pixel array, the readout circuit and the memory; and a processor electrically connected to the image sensor. The controller may be configured to generate one frame by integrating the pixel data sequentially received from the readout circuit, generate a profile regarding the flickering of the collected light using the generated frame and another frame generated prior to the generated frame, store the generated profile in the memory, generate flickering information by analyzing a plurality of profiles accumulated in the memory, and adjust the generated frame, the light exposure time of one row of the pixel array or the frame rate of the readout circuit using the flickering information.

According to various embodiments of the present disclosure, an image processing method in an electronic device may include generating, by the image sensor of the electronic device, one frame by integrating sequentially collected pixel data; generating, by the image sensor, a profile regarding the flickering of light using the generated frame and another frame generated prior to the generated frame and storing the generated profile in memory; and obtaining, by the image sensor, a profile set including a plurality of profiles from the memory and transferring the generated frame and the obtained profile set to the processor of the electronic device.

Generating the profile may include calculating a brightness difference between frames or calculating a brightness difference between rows in one frame.

Obtaining the profile set may include determining the number of frames to be obtained based on a frame rate of a readout circuit of the image sensor and a data output speed for the processor.

The image processing method may further include generating image data to be transferred to the processor, the image data including the generated frame and the obtained profile set located behind or ahead of the generated frame in structure.

The image processing method may further include determining, by the processor, whether a striped pattern is displayed in an image to be displayed by analyzing the profile set received from the image sensor, correcting a frame received from the image sensor if it is determined that the striped pattern is displayed, and displaying the corrected frame.

Determining whether the striped pattern is displayed may include calculating a flickering time by analyzing the profile set received from the image sensor.

Calculating the flickering time may include recognizing a pattern of regularly repeated profiles of the profile set received from the image sensor and to calculate the flickering time using the recognized pattern information.

According to various embodiments of the present disclosure, an electronic device may be configured to prevent the display of a striped pattern by accurately recognizing flickering because the image sensor configured to implement a frame rate higher than a flickering frequency generates a profile regarding flickering.

The scope of various embodiments of the present disclosure, all of changes or modified of forms derived based on the technical spirit of various embodiments of the present disclosure in addition to the disclosed embodiments should be construed as being included in the scope of various embodiments of the present disclosure.