WO2023224216A1 - 저전력 프로세서를 이용하여 카메라의 광학식 흔들림 보정을 제어하는 장치 및 방법 - Google Patents

저전력 프로세서를 이용하여 카메라의 광학식 흔들림 보정을 제어하는 장치 및 방법 Download PDF

Info

Publication number
WO2023224216A1
WO2023224216A1 PCT/KR2023/002205 KR2023002205W WO2023224216A1 WO 2023224216 A1 WO2023224216 A1 WO 2023224216A1 KR 2023002205 W KR2023002205 W KR 2023002205W WO 2023224216 A1 WO2023224216 A1 WO 2023224216A1
Authority
WO
WIPO (PCT)
Prior art keywords
shake correction
low
control instruction
shake
processor
Prior art date
Application number
PCT/KR2023/002205
Other languages
English (en)
French (fr)
Inventor
전인태
김대호
이대환
한경완
김병준
김연학
박건희
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220088518A external-priority patent/KR20230162498A/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US18/187,315 priority Critical patent/US20230379580A1/en
Publication of WO2023224216A1 publication Critical patent/WO2023224216A1/ko

Links

Images

Classifications

    • 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/65Control of camera operation in relation to power supply
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations

Definitions

  • the following embodiments relate to a technology for controlling optical shake correction of a camera using a low-power processor that controls a sensor instead of a separate shake correction processor.
  • image quality may deteriorate, such as blurring of the image, due to slight shaking or other vibrations (e.g., vehicles running on uneven road surfaces).
  • image stabilization function is being developed.
  • the shake correction function applied to electronic devices uses a motion sensor to detect movement caused by shake and corrects it by moving the lens in the opposite direction of the movement caused by shake.
  • the electronic device is equipped with a separate shake correction processor that controls the shake correction.
  • one aspect of the disclosure aims to provide an apparatus and method for providing shake correction using a low-power processor that controls a sensor instead of a separate shake correction processor.
  • an optical image stabilization method includes: when an anti-shake start event occurs, storing a group of shake correction control instructions in a memory using a general-purpose processor; An operation of executing a polling timer instruction included in the shake correction control instruction group using a low-power processor to drive a polling timer so that shake correction can be performed at a preset cycle; and an operation of correcting camera shake based on the shake correction control instruction group using the low-power processor.
  • an optical image stabilization device includes: a camera including a shake correction driver that corrects shake according to a shake correction result; A motion sensor that senses motion and outputs motion information for user interface and motion information for shake compensation; Memory; and a mobile processor including a general-purpose processor and a low-power processor, wherein the general-purpose processor stores a group of shake correction control instructions in the memory when an anti-shake start event occurs, and the low-power processor stores the shake correction control instruction group stored in the memory.
  • the instructions included in the correction control instruction group to drive a polling timer so that shake correction can be performed at a preset cycle, secure motion information for shake correction, and generate a result of shake correction according to the motion information for shake correction.
  • the shake correction result may be provided to the shake correction driver.
  • An optical image stabilization device includes a camera including a shake correction driver that corrects shake according to a shake correction result; A motion sensor that senses motion and outputs motion information; Memory; and a mobile processor including a general-purpose processor and a low-power processor, wherein the general-purpose processor stores a group of shake correction control instructions in the memory when an anti-shake start event occurs, and the low-power processor stores the shake correction control instruction group stored in the memory. Executing instructions included in the correction control instruction group to drive a polling timer so that shake correction can be performed at a preset cycle, secure the motion information, generate the shake correction result according to the motion information, and perform the shake correction The results can be provided to the shake correction driver.
  • It relates to an apparatus and method for providing shake correction using a low-power processor that controls a sensor instead of a separate shake correction processor, and can eliminate the previously separately provided shake correction processor, thereby providing an electronic device for the shake correction processor. Physical space can be secured, the waste of power required to run the shake correction processor can be reduced, and the cost of providing the shake correction processor can be reduced.
  • FIG. 1 is a diagram illustrating the configuration of an electronic device that controls optical shake correction of a camera using a two-channel motion sensor and a shake correction control instruction group according to an embodiment of the present disclosure.
  • FIG. 2 is a diagram illustrating the configuration of an electronic device that controls optical shake correction of a camera using a one-channel motion sensor and a shake correction control instruction group according to an embodiment of the present disclosure.
  • FIG. 3 is a flowchart illustrating a process for controlling optical shake correction of a camera in an electronic device according to an embodiment of the present disclosure.
  • FIG. 4 is a flowchart illustrating a process of receiving a shake correction adjustment value in an electronic device according to an embodiment of the present disclosure.
  • FIG. 5 is a flowchart illustrating a specific process for controlling optical shake correction of a camera in a photo capture mode when the motion sensor unit is 2-channel in an electronic device according to an embodiment of the present disclosure.
  • FIG. 6 is a flowchart illustrating a specific process for controlling optical shake correction of a camera in video capture mode when the motion sensor unit is 2-channel in an electronic device according to an embodiment of the present disclosure.
  • FIG. 7 is a flowchart illustrating a specific process for controlling optical shake correction of a camera in a photo taking mode when the motion sensor unit is 1 channel in an electronic device according to an embodiment of the present disclosure.
  • FIG. 8 is a flowchart illustrating a specific process for controlling optical shake correction of a camera in a video capture mode when the motion sensor unit is 1 channel in an electronic device according to an embodiment of the present disclosure.
  • Figure 9 is a block diagram of an electronic device in a network environment according to an embodiment of the present disclosure.
  • first, second, A, B, (a), and (b) may be used. These terms are only used to distinguish the component from other components, and the nature, sequence, or order of the component is not limited by the term.
  • a component is described as being “connected,” “coupled,” or “connected” to another component, that component may be directly connected or connected to that other component, but there is no need for another component between each component. It should be understood that may be “connected,” “combined,” or “connected.”
  • FIG. 1 is a diagram illustrating the configuration of an electronic device that controls optical shake correction of a camera using a two-channel motion sensor and a shake correction control instruction group according to an embodiment of the present disclosure.
  • the electronic device 100 may include a mobile processor 110, a memory 120, a camera unit 150, and a motion sensor unit 160.
  • the mobile processor 110 may include a general-purpose processor 111, a low-power processor 112, an image data interface circuit 114, and a general-purpose interface circuit 115.
  • the general-purpose processor 111 corresponds to a central processing unit or an application processor and can control at least one other component of the electronic device 100 by executing software and can perform various data processing or calculations.
  • the general-purpose processor 111 may be configured with multiple cores.
  • the general-purpose processor 111 may store the shake correction control instruction group 130 in the memory 120, and when an anti-shake end event occurs, the general-purpose processor 111 may store the shake correction control instruction group 130 in the memory 120.
  • the control instruction group 130 can be deleted from the memory 120.
  • the anti-shake start event may occur immediately before the camera app is executed and the camera unit 150 operates. However, it is not limited to this, and the anti-shake start event may occur when a camera app is executed or when the camera unit 150 begins to operate. Additionally, the anti-shake termination event may occur immediately before the camera app is terminated and the operation of the camera unit 150 stops. However, it is not limited to this, and the anti-shake termination event may occur when the camera app is terminated or when the operation of the camera unit 150 is terminated.
  • the low-power processor 112 may be set to use less power than the general-purpose processor 111 or be specialized for a designated function. In FIG. 1, the low-power processor 112 may operate as a sensor hub processor that controls at least one sensor. there is. The low-power processor 112 may consist of one core. The low-power processor 112 may provide computing power to the shake correction control instruction group 130.
  • the image data interface circuit 114 may provide communication with the camera unit 150, and the general-purpose interface circuit 115 may provide communication with peripheral devices of the electronic device 100.
  • the camera unit 150 may include a camera image sensor 151, a camera memory 152, and a shake correction driver 153.
  • the camera image sensor 151 may acquire an image by receiving light.
  • the camera image sensor 151 is connected to the image data interface circuit 114 and a CSI (camera serial interface) channel and can provide the acquired image to the general-purpose processor 111 through the image data interface circuit 114.
  • CSI camera serial interface
  • the camera memory 152 may store shake correction adjustment values for calibrating the shake correction driver 153.
  • the shake correction driver 153 When the shake correction driver 153 receives the shake correction result, it can physically adjust at least one lens (not shown) to correct the shake of the camera unit 150.
  • the motion sensor unit 160 may sense the motion of the electronic device 100 and output motion information for a user interface and motion information for shaking correction.
  • the motion sensor unit 160 may output motion information for a user interface and motion information for shaking compensation through different communication channels.
  • the motion sensor unit 160 may include a motion sensor 161, a user interface sensor data module 162, and a shake correction sensor data module 163.
  • the motion sensor 161 detects the movement of the electronic device 100 and outputs it as sensor data, and may be composed of a 6-axis sensor including a 3-axis acceleration sensor and a 3-axis gyro sensor.
  • the user interface sensor data module 162 processes sensor data corresponding to the user interface among the sensor data sensed by the motion sensor 161 into motion information for the user interface and provides it to the sensor interface circuit unit 113 of the low-power processor 112. can do. At this time, motion information for the user interface may be transmitted through an I3C interface connected between the user interface sensor data module 162 and the sensor interface circuit unit 113.
  • the shake correction sensor data module 163 can process sensor data corresponding to shake among the sensor data sensed by the motion sensor 161 into motion information for shake correction and provide it to the sensor interface circuit unit 113 of the low-power processor 112. there is. At this time, motion information for shake correction may be transmitted through a serial peripheral interface (SPI) interface connected between the shake correction sensor data module 163 and the sensor interface circuit unit 113.
  • SPI serial peripheral interface
  • the memory 120 contains an operating system for controlling the overall operation of the electronic device 100, application programs, and storage data (e.g., phone number, short messaging service (SMS) message, compressed image file, video, etc.). Save.
  • the memory 120 may store the shake correction control instruction group 130 and the motion sensor instruction 140 for a user interface by the general-purpose processor 111 according to the present disclosure.
  • the low-power processor 112 executes the instructions included in the shake correction control instruction group 130 to drive a polling timer so that shake correction can be performed at a preset cycle, secure motion information for shake correction, and
  • the shake correction result may be generated according to the image shake correction result, and the shake correction result may be provided to the shake correction driver 153.
  • the shake correction control instruction group 130 may include a polling timer instruction 131, a communication interface control instruction 132, a shake correction drive control instruction 133, and a motion sensor control instruction 134 for shake correction. there is.
  • the polling timer instruction 131 is a configuration that allows shake correction to be performed at a preset cycle. If the shake prevention end event does not occur after shake correction, it may be an instruction to check whether the preset cycle has expired. there is.
  • the polling timer instruction 131 may be an instruction that restarts the preset period when the preset period expires.
  • the polling timer instruction 131 may be an instruction to wait at preset time intervals until the preset period expires.
  • the polling timer using the polling timer instruction 131 of the present disclosure is a software timer, not a physical timer.
  • accuracy can be maximized by providing a polling timer at the nanosecond level, which is the minimum unit of the hardware tick counter (HW Tick Counter) of the low-power processor 112.
  • HW Tick Counter hardware tick counter
  • the polling timer expires quickly with an intended delay of several tens of usecs, and when the expiration time approaches, it is reduced back to nano seconds to maintain the existing accuracy.
  • the communication interface control instruction 132 may be an instruction for connecting a first virtual communication interface between the memory 120 and the general-purpose processor 111 to receive the shake correction adjustment value.
  • the first virtual communication interface may be a virtual communication interface that mimics the operation of the I2C interface.
  • the communication interface control instruction 132 uses the memory 120 to secure information for setting the shake correction intensity according to the surrounding illumination using the general-purpose processor 111 when the video-only image quality correction mode is executed in the video shooting mode. ) and the general-purpose processor 111, connect a second virtual communication interface, check the shake correction strength using information for setting the shake correction strength, and execute a shake correction drive control instruction 133 to set the shake correction strength. It may be an instruction provided to the processor 112.
  • the second virtual communication interface may be a virtual communication interface that mimics the operation of the I2C interface.
  • the motion sensor control instruction 134 for shake correction may be an instruction that uses the low-power processor 112 to obtain motion information for shake correction from the motion sensor unit 160 through the sensor interface circuit 113 of the low-power processor 112. .
  • the shake correction drive control instruction 133 receives the shake correction adjustment value stored in the camera unit 150 through the first virtual communication interface using the general-purpose processor 111, and adjusts the shake correction using the low-power processor 112. Initialize the shake correction based on the value, execute the shake correction algorithm using the low-power processor 112 to generate a shake correction result corresponding to the motion information for shake correction, and use the low-power processor 112 to create a sensor interface circuit. It may be an instruction to provide the shake correction result to the shake correction driver 153 through (113). Initialization of the shake correction drive control instruction 133 may enable calibration to be performed using the shake correction adjustment value when executing the shake correction algorithm.
  • the shake correction drive control instruction 133 may be an instruction that generates a shake correction result by taking the shake correction strength into consideration when generating a shake correction result when the video-only image quality correction mode is executed in the video capture mode.
  • the shake correction control instruction group 130 is shown separately from the polling timer instruction 131, the communication interface control instruction 132, the shake correction drive control instruction 133, and the motion sensor control instruction 134 for shake correction. This is to distinguish and explain each function.
  • FIG. 2 is a diagram illustrating the configuration of an electronic device that controls optical shake correction of a camera using a one-channel motion sensor and a shake correction control instruction group according to an embodiment of the present disclosure.
  • the electronic device 200 may include a mobile processor 210, a memory 220, a camera unit 250, and a motion sensor unit 260.
  • the mobile processor 210 may include a general-purpose processor 211, a low-power processor 212, an image data interface circuit 214, and a general-purpose interface circuit 215.
  • the general-purpose processor 211 corresponds to a central processing unit or an application processor and can control at least one other component of the electronic device 200 by executing software and perform various data processing or calculations.
  • the general-purpose processor 211 may be configured with multiple cores.
  • the general-purpose processor 211 When an anti-shake start event occurs, the general-purpose processor 211 loads the shake correction control instruction group 230 into the memory 220, and when an anti-shake end event occurs, the general-purpose processor 211 performs shake correction control.
  • the instruction group 230 is deleted from the memory 220.
  • the anti-shake start event may occur immediately before the camera app is executed and the camera unit 150 operates. However, it is not limited to this, and the anti-shake start event may occur when a camera app is executed or when the camera unit 150 begins to operate. Additionally, the anti-shake termination event may occur immediately before the camera app is terminated and the operation of the camera unit 150 stops. However, it is not limited to this, and the anti-shake termination event may occur when the camera app is terminated or when the operation of the camera unit 150 is terminated.
  • the low-power processor 212 can be set to use less power than the general-purpose processor 211 or to be specialized for a designated function. In FIG. 2, the low-power processor 212 operates as a sensor hub processor that controls sensors. The low-power processor 212 may consist of one core. The low-power processor 212 may provide computing power to the shake correction control instruction group 230.
  • the image data interface circuit unit 214 provides communication with the camera unit 250, and the universal interface circuit unit 215 provides communication with peripheral devices of the electronic device 200.
  • the camera unit 250 may include a camera image sensor 251, a camera memory 252, and a shake correction driver 253.
  • the camera image sensor 251 receives light and acquires an image.
  • the camera image sensor 251 is connected to the image data interface circuit unit 214 through a CSI (camera serial interface) channel and can provide the acquired image to the general processor 211 through the image data interface circuit unit 214.
  • CSI camera serial interface
  • the camera memory 252 may store shake correction adjustment values for calibrating the shake correction driver 253.
  • the shake correction driver 253 When the shake correction driver 253 receives the shake correction result, it can physically adjust at least one lens (not shown) to correct the shake of the camera unit 150.
  • the motion sensor unit 260 senses motion and outputs motion information.
  • the motion sensor unit 260 can output motion information through one communication channel (I3C interface).
  • the motion sensor unit 260 may include a motion sensor 261 and a sensor data module 262.
  • the motion sensor 261 detects the movement of the electronic device 200 and outputs it as sensor data, and may be composed of a 6-axis sensor including a 3-axis acceleration sensor and a 3-axis gyro sensor.
  • the sensor data module 262 may process sensor data sensed by the motion sensor 261 into motion information and provide it to the sensor interface circuit unit 213 of the low-power processor 212.
  • motion information may be transmitted through an I3C interface connected between the sensor data module 262 and the sensor interface circuit unit 213.
  • Motion information can be used as motion information for a user interface or motion information for shake correction, and may require additional processing to be used as motion information for shake correction.
  • the memory 220 stores an operating system for controlling the overall operation of the electronic device 200, application programs, and storage data (eg, phone numbers, SMS messages, compressed image files, videos, etc.).
  • the memory 220 may be loaded with the shake correction control instruction group 230 by the general-purpose processor 211 according to the present disclosure, and may store the motion sensor instruction 240 for a user interface.
  • the low-power processor 212 executes the instructions included in the shake correction control instruction group 230 to drive a polling timer so that shake correction can be performed at a preset cycle, secure motion information, and generate shake correction results according to the motion information. may be generated, and the shake correction results may be provided to the shake correction driver 253.
  • the shake correction control instruction group 230 includes a polling timer instruction 231, a communication interface control instruction 232, a shake correction drive control instruction 233, a motion sensor control instruction 234 for shake correction, and a sensor for shake correction. It may include data processing instructions 235 and sensor input/output data control instructions 236.
  • the polling timer instruction 231 is a configuration that allows shake correction to be performed at a preset cycle. If the camera continues to be turned on after shake correction, the polling timer instruction 231 may be an instruction that checks whether the preset cycle has expired in the polling timer. there is.
  • the polling timer instruction 231 may be an instruction that restarts the preset period so that the shake correction control instruction group 230 can repeat shaking correction.
  • the polling timer instruction 231 may be an instruction to wait at preset time intervals until the preset period expires.
  • the communication interface control instruction 232 may be an instruction for connecting a first virtual communication interface between the memory 220 and the general-purpose processor 211 to receive the shake correction adjustment value.
  • the first virtual communication interface may be a virtual communication interface that mimics the operation of the I2C interface.
  • the communication interface control instruction 232 uses the general-purpose processor 211 to secure information for setting the shake correction intensity according to the surrounding illumination level by using the memory 220.
  • a low-power processor that connects a second virtual communication interface between the general-purpose processor 211, checks the shake correction intensity using information for setting the shake correction intensity, and executes a shake correction drive control instruction 233 to set the shake correction intensity. It may be an instruction provided by (212).
  • the second virtual communication interface may be a virtual communication interface that mimics the operation of the I2C interface.
  • the motion sensor control instruction 234 for shaking correction may be an instruction that uses the low-power processor 212 to obtain motion information from the motion sensor unit 260 through the sensor interface circuit unit 213 of the low-power processor 212.
  • the sensor data processing instruction for shake correction 235 uses the low-power processor 212 to receive motion attribute setting information for shake correction needed to convert motion information into motion information for shake correction used in shake correction from the general-purpose processor 211, It may be an instruction that processes motion information into the motion information for shake correction using motion attribute setting information for shake correction.
  • the sensor input/output data control instruction 236 uses the low-power processor 212 to transmit motion information according to priority when detecting a data collision when acquiring motion information based on the shake correction control instruction group. This may be an instruction that controls acquisition of low-priority motion information to be suspended until the end. At this time, data collision of motion information is highly likely to occur when a user interface is processed with motion information and a camera is driven at the same time, such as in augmented reality, or when camera shake correction occurs at the same time.
  • the sensor input/output data control instruction 236 is a motion sensor control instruction 234 for shaking compensation and a motion sensor instruction 240 for the user interface that attempts to acquire motion information at a similar point in time (before the end of another data request). In this case, it may be an instruction to suspend acquisition of low-priority motion information.
  • the priority may be such that the configuration that tries to acquire (read) motion information first has a higher priority, and the motion sensor control instructions 234 for shake compensation are higher than the motion sensor instructions 240 for the user interface. Since fast motion information is required, the motion information requested by the motion sensor control instruction 234 for shaking compensation in case of data collision may be set to have higher priority.
  • the shake correction sensor data processing instruction 235 uses the low-power processor 212 to receive motion property setting information for shake correction required to convert motion information into motion information for shake correction used in shake correction from the general-purpose processor 211, It may be an instruction that processes motion information into motion information for shake correction using motion attribute setting information for shake correction.
  • the shake correction drive control instruction 233 receives the shake correction adjustment value stored in the camera unit 250 through the first virtual communication interface using the general-purpose processor 211, and adjusts the shake correction using the low-power processor 212. Initialize the shake correction based on the value, execute the shake correction algorithm using the low-power processor 212 to generate a shake correction result corresponding to the motion information for shake correction, and use the low-power processor 212 to create a sensor interface circuit. It may be an instruction to provide the shake correction result to the shake correction driver 253 through (213). When executing a shake correction algorithm, the shake correction drive control instruction 233 may perform calibration using a shake correction adjustment value.
  • the shake correction driving control instruction 233 may be an instruction that generates a shake correction result by taking the shake correction strength into consideration when the video-only image quality correction mode is executed in the video capture mode.
  • the shake correction control instruction group 230 includes a polling timer instruction 231, a communication interface control instruction 232, a shake correction drive control instruction 233, a motion sensor control instruction for shake correction 234, and a shake correction sensor data processing.
  • the unit 235 and the sensor input/output data control unit 236 are shown separately for the purpose of distinguishing and explaining each function.
  • FIG. 3 is a flowchart illustrating a process for controlling optical shake correction of a camera in an electronic device according to an embodiment of the present disclosure.
  • the electronic device when an anti-shake start event occurs (310), the electronic device (100, 200) stores the shake correction control instruction group (130, 230) in the general-purpose processor (111, 211) in the memory (120, 220). ) can be stored in (312).
  • the anti-shake start event may occur immediately before the camera app is executed and the camera units 150 and 250 operate. However, it is not limited to this, and the anti-shake start event may occur when the camera app is executed or when the camera units 150 and 250 begin to operate.
  • the electronic devices 100 and 200 may receive the shake correction adjustment value using the general-purpose processor 111 and 211 (314). Operation 314 for receiving the shake correction adjustment value will be described later with reference to FIG. 4.
  • the electronic devices 100 and 200 may use the low-power processors 112 and 212 to initialize settings based on the shake correction control instruction group 130 and 230 based on the shake correction adjustment value (316).
  • the electronic device 100 of FIG. 1 and the electronic device 200 of FIG. 2 may operate differently.
  • the electronic device 100 of FIG. 1 may initialize and set the shake correction control instruction group based on the shake correction adjustment value using the low-power processor 112.
  • the electronic device 200 of FIG. 2 may use the low-power processor 212 to initialize and set the shake correction control instruction group based on the shake correction adjustment value and motion attribute setting information for shake correction.
  • the motion property setting information for shake correction is information necessary to convert the motion information sensed by the motion sensor unit 260 into motion information for shake correction used for shake correction, and can be received using the general-purpose processor 211.
  • operations 314 and 316 may be omitted in the process of FIG. 3.
  • the electronic devices 100 and 200 execute the polling timer instructions 131 and 231 included in the shake correction control instruction group 130 and 230 using low-power processors 112 and 212 to perform shake correction at a preset cycle.
  • a polling timer may be driven so that the process can be performed (318).
  • the electronic devices 100 and 200 may correct the shake of the camera units 150 and 250 based on the shake correction control instruction groups 130 and 230 using the low-power processors 112 and 212 (320). .
  • the electronic devices 100 and 200 may check whether an anti-shake end event has occurred (322).
  • the anti-shake termination event may occur immediately before the camera app is terminated and the operation of the camera units 150 and 250 stops. However, it is not limited to this, and the anti-shake termination event may occur when the camera app is terminated or when the operation of the camera units 150 and 250 is terminated.
  • the electronic device uses the general-purpose processor (111, 211) to extract the shake correction control instruction group (130, 230) from the memory (120, 220). Can be deleted (324).
  • the electronic device 100, 200 may use the low-power processor 112, 212 to check whether the preset period of the polling timer has expired (326) .
  • the electronic device 100, 200 returns to operation 320 using the low-power processor 112, 212 and performs a series of processes to correct the shaking of the camera unit 150, 250. can be repeated.
  • the electronic devices 100 and 200 use the low-power processors 112 and 212 to wait at preset time intervals until the preset period of the polling timer expires. Can (328).
  • FIG. 4 is a flowchart illustrating a process of receiving a shake correction adjustment value in an electronic device according to an embodiment of the present disclosure.
  • the electronic devices 100 and 200 use general-purpose processors 111 and 211 to secure a first shake correction adjustment value used for calibration based on the shake correction control instruction group 130 and 230.
  • the virtual communication interface can be connected to the general-purpose processor 111 (410).
  • the electronic devices 100 and 200 receive the shake correction adjustment value stored in the camera unit 150 using the general-purpose processor 111 and 211, and store it in the memory 120 and 220 through the first virtual communication interface.
  • Can (412) the general-purpose processor 111 and 211
  • the first virtual communication interface may be a virtual communication interface that mimics the operation of an Inter-Integrated Circuit (I2C) interface.
  • I2C Inter-Integrated Circuit
  • operation 320 of correcting shake of the camera units 150 and 250 may be performed differently by the electronic device 100 of FIG. 1 and the electronic device 200 of FIG. 2.
  • FIGS. 5 and 6 A specific example of performing operation 320 in the electronic device 100 of FIG. 1 will be described below with reference to FIGS. 5 and 6, and a specific embodiment of performing operation 320 in the electronic device 200 of FIG. 2 will be described below. This will be described later with reference to FIGS. 7 and 8.
  • FIG. 5 is a flowchart illustrating a specific process for controlling optical shake correction of a camera in a photo capture mode when the motion sensor unit is 2-channel in an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 can check whether the camera mode is the photo capture mode (510).
  • the electronic device 100 uses the low-power processor 112 to establish a sensor interface of the low-power processor 112 based on the shake correction control instruction group 130.
  • Motion information for shaking correction can be obtained from the motion sensor unit 160 through the circuit unit 113 (520).
  • motion information for shaking compensation is acquired by reading from the motion sensor unit 160 through the sensor interface circuit unit 113 at a preset cycle (e.g., 1/6.6K sec) in the low-power processor 112. It can be obtained in this way.
  • the electronic device 100 may use the low-power processor 112 to execute a shake correction algorithm based on the shake correction control instruction group 130 to generate a shake correction result corresponding to motion information for shake correction ( 522).
  • the electronic device 100 uses the low-power processor 112 to transmit the shake correction result to the camera unit 150 through the sensor interface circuit unit 113 based on the shake correction control instruction group 130. It can be provided to the included shake correction driver 153 so that the shake correction driver 153 can perform shake correction of the camera unit 150 (524).
  • FIG. 6 is a flowchart illustrating a specific process for controlling optical shake correction of a camera in video capture mode when the motion sensor unit is 2-channel in an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 can check whether the camera mode is the video capture mode (610).
  • the electronic device 100 can check whether the current video capture mode is operating in a video-only image quality correction mode (612).
  • the electronic device 100 uses the general-purpose processor 111 to control the memory 120 and the shake correction control instruction group 130.
  • a second virtual communication interface between the general-purpose processors 111 may be connected (614).
  • the electronic device 100 uses the low-power processor 112 to set the shake correction strength according to the surrounding illumination from the general-purpose processor 111 through a second virtual communication interface based on the shake correction control instruction group 130. Information can be obtained (616).
  • the electronic device 100 can use the low-power processor 112 to check the shake correction intensity to which information for setting the shake correction intensity is applied based on the shake correction control instruction group 130 (618).
  • the electronic device 100 uses the low-power processor 112 to detect shake from the motion sensor unit 160 through the sensor interface circuit unit 113 of the low-power processor 112 based on the shake correction control instruction group 130.
  • Motion information for correction can be obtained (620).
  • motion information for shaking compensation is acquired by reading from the motion sensor unit 160 through the sensor interface circuit unit 113 at a preset cycle (e.g., 1/6.6K sec) in the low-power processor 112. It can be obtained in this way.
  • the electronic device 100 may use the low-power processor 112 to execute a shake correction algorithm based on the shake correction control instruction group 130 to generate a shake correction result corresponding to motion information for shake correction ( 622).
  • the electronic device 100 uses the low-power processor 112 to transmit the shake correction result to the camera unit 150 through the sensor interface circuit unit 113 based on the shake correction control instruction group 130. It can be provided to the included shake correction driver 153 so that the shake correction driver 153 can perform shake correction of the camera unit 150 (624).
  • the electronic device 100 may perform the shake correction algorithm by considering the shake correction strength confirmed in operation 618.
  • the electronic device 100 may perform operations 620 to 624 without considering the intensity of shake correction.
  • FIG. 7 is a flowchart illustrating a specific process for controlling optical shake correction of a photo capture mode camera when the motion sensor unit is 1 channel in an electronic device according to an embodiment of the present disclosure.
  • the electronic device 200 can check whether the camera mode is the photo capture mode (710).
  • the electronic device 200 uses the low-power processor 212 to control the sensor interface circuit of the low-power processor 212 based on the shake correction control instruction group 230.
  • Motion information can be obtained from the motion sensor unit 260 through (213) (720).
  • motion information for shaking compensation is acquired by reading from the motion sensor unit 260 through the sensor interface circuit unit 213 at a preset cycle (e.g., 1/6.6K sec) in the low-power processor 212. It can be obtained in this way.
  • the electronic device 200 uses the low-power processor 212 to configure it in another configuration (motion sensor instructions 240 for user interface) based on the shake correction control instruction group 230. It is possible to detect whether a data collision of motion information occurs (722).
  • the electronic device 200 uses the low-power processor 212 to transmit motion information according to priority based on the shake correction control instruction group 230 when transmission of motion information is completed. It is possible to control the acquisition of low-priority motion information to be suspended until (724).
  • the electronic device 200 uses the low-power processor 212 to use the motion information for shake correction based on the shake correction control instruction group 230. It can be processed into motion information (726).
  • the electronic device 200 may use the low-power processor 212 to execute a shake correction algorithm based on the shake correction control instruction group 230 to generate a shake correction result corresponding to motion information for shake correction ( 728).
  • the electronic device 200 uses the low-power processor 212 to transmit the shake correction result to the camera unit 250 through the sensor interface circuit unit 213 based on the shake correction control instruction group 230. It can be provided to the included shake correction driver 253 so that the shake correction driver 253 can perform shake correction of the camera unit 250 (730).
  • FIG. 8 is a flowchart illustrating a specific process for controlling optical shake correction of a video capture mode camera when the motion sensor unit is 1 channel in an electronic device according to an embodiment of the present disclosure.
  • the electronic device 200 can check whether the camera mode is the video capture mode (810).
  • the electronic device 200 can check whether the current video capture mode is operating in the video-only image quality correction mode (812).
  • the electronic device 200 uses the general-purpose processor 211 to control the memory 220 and the shake correction control instruction group 230.
  • a second virtual communication interface between the general-purpose processors 211 may be connected (814).
  • the electronic device 200 uses the low-power processor 212 to set the shake correction intensity according to the surrounding illumination from the general-purpose processor 211 through a second virtual communication interface based on the shake correction control instruction group 230. Information can be obtained (816).
  • the electronic device 200 can use the low-power processor 212 to check the shake correction intensity to which information for setting the shake correction intensity is applied based on the shake correction control instruction group 230 (818).
  • the electronic device 200 uses the low-power processor 212 to receive motion information from the motion sensor unit 260 through the sensor interface circuit unit 213 of the low-power processor 212 based on the shake correction control instruction group 230. Can be obtained (820).
  • motion information for shaking compensation is acquired by reading from the motion sensor unit 260 through the sensor interface circuit unit 213 at a preset cycle (e.g., 1/6.6K sec) in the low-power processor 212. It can be obtained in this way.
  • the electronic device 200 uses the low-power processor 212 to configure a different configuration (motion sensor instruction 240 for user interface) based on the shake correction control instruction group 230. It is possible to detect whether a data collision of motion information occurs (822).
  • the electronic device 200 uses the low-power processor 212 to transmit motion information according to priority based on the shake correction control instruction group 230 when transmission of motion information is completed. It is possible to control the acquisition of low-priority motion information to be suspended until (824).
  • the electronic device 200 uses the low-power processor 212 to convert motion information to a shake correction tool based on the shake correction control instruction group 230. It can be processed into motion information (826).
  • the electronic device 200 may use the low-power processor 212 to execute a shake correction algorithm based on the shake correction control instruction group 230 to generate a shake correction result corresponding to motion information for shake correction ( 828).
  • the electronic device 200 uses the low-power processor 212 to transmit the shake correction result to the camera unit 250 through the sensor interface circuit unit 213 based on the shake correction control instruction group 230. It can be provided to the included shake correction driver 253 so that the shake correction driver 253 can perform shake correction of the camera unit 250 (830).
  • the electronic device 200 may perform the shake correction algorithm by considering the shake correction strength confirmed in operation 818.
  • the electronic device 200 may perform operations 820 to 830 without considering the intensity of shake correction.
  • the electronic device 100 of FIG. 1 and the electronic device 200 of FIG. 2 may be implemented in the form of the electronic device of FIG. 9 below.
  • FIG. 9 is a block diagram of an electronic device 901 in a network environment 900 according to an embodiment of the present disclosure.
  • the electronic device 901 communicates with the electronic device 902 through a first network 998 (e.g., a short-range wireless communication network) or a second network 999. It is possible to communicate with at least one of the electronic device 904 or the server 908 through (e.g., a long-distance wireless communication network). 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 network
  • a second network 999 e.g., a second network 999. It is possible to communicate with at least one of the electronic device 904 or the server 908 through (e.g., a long-distance wireless communication network). According to one embodiment, the electronic device 901 may communicate with the electronic device 904 through the server 908.
  • the electronic device 901 includes a processor 920, a memory 930, an input module 950, an audio output module 955, a display module 960, an audio module 970, and a sensor module ( 976), interface 977, connection terminal 978, haptic module 979, camera module 980, power management module 988, battery 989, communication module 990, subscriber identification module 996 , or may include an antenna module 997.
  • at least one of these components eg, the connection terminal 978
  • some of these components e.g., sensor module 976, camera module 980, or antenna module 997) are integrated into one component (e.g., display module 960). It can be.
  • the electronic device 901 may correspond to the electronic device 100 of FIG. 1 and the electronic device 200 of FIG. 2.
  • the processor 920 may correspond to the mobile processors 110 and 210 of FIGS. 1 and 2 .
  • Processor 920 may, for example, execute software (e.g., program 940) to operate at least one other component (e.g., hardware or software component) of electronic device 901 connected to processor 920. It can be controlled and perform various data processing or calculations. According to another embodiment, as at least part of data processing or computation, processor 920 may store commands or data received from another component (e.g., sensor module 976 or communication module 990) in volatile memory 932. The commands or data stored in the volatile memory 932 can be processed, and the resulting data can be stored in the non-volatile memory 934.
  • software e.g., program 940
  • processor 920 may store commands or data received from another component (e.g., sensor module 976 or communication module 990) in volatile memory 932.
  • the commands or data stored in the volatile memory 932 can be processed, and the resulting data can be stored in the non-volatile memory 934.
  • the processor 920 may include a main processor 921 (e.g., a central processing unit or an application processor) or an auxiliary processor 923 that can operate independently or together (e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
  • a main processor 921 e.g., a central processing unit or an application processor
  • auxiliary processor 923 e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor.
  • the electronic device 901 includes a main processor 921 and a auxiliary processor 923
  • the auxiliary processor 923 is set to use less power than the main processor 921 or to specialize in a designated function.
  • the auxiliary processor 923 may be implemented separately from the main processor 921 or as part of it.
  • the main processor 921 may correspond to the general-purpose processors 111 and 211 of FIGS. 1 and 2, and the auxiliary processor 923 may correspond to the low-power processors 112 and 212 of FIGS. 1 and 2.
  • the auxiliary processor 923 may, for example, act on behalf of the main processor 921 while the main processor 921 is in an inactive (e.g., sleep) state, or while the main processor 921 is in an active (e.g., application execution) state. ), together with the main processor 921, at least one of the components of the electronic device 901 (e.g., the display module 960, the sensor module 976, or the communication module 990) At least some of the functions or states related to can be controlled.
  • coprocessor 923 e.g., image signal processor or communication processor
  • may be implemented as part of another functionally related component e.g., camera module 980 or communication module 990. there is.
  • the auxiliary processor 923 may include a hardware structure specialized for processing artificial intelligence models.
  • Artificial intelligence models can be created through machine learning. For example, such learning may be performed in the electronic device 901 itself on which the artificial intelligence model is performed, or may be performed through a separate server (e.g., server 908).
  • Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but It is not limited.
  • An artificial intelligence model may include multiple artificial neural network layers.
  • Artificial neural networks include deep neural network (DNN), convolutional neural network (CNN), recurrent neural network (RNN), restricted boltzmann machine (RBM), belief deep network (DBN), bidirectional recurrent deep neural network (BRDNN), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the examples described above.
  • artificial intelligence models may additionally or alternatively include software structures.
  • the memory 930 may store various data used by at least one component (eg, the processor 920 or the sensor module 976) of the electronic device 901. Data may include, for example, input data or output data for software (e.g., program 940) and instructions related thereto.
  • Memory 930 may include volatile memory 932 or non-volatile memory 934. Memory 930 may correspond to memories 120 and 220 of FIGS. 1 and 2 .
  • the program 940 may be stored as software in the memory 930 and may include, for example, an operating system 942, middleware 944, or application 946.
  • the input module 950 may receive commands or data to be used in a component of the electronic device 901 (e.g., the processor 920) from outside the electronic device 901 (e.g., a user).
  • the input module 950 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).
  • the sound output module 955 may output sound signals to the outside of the electronic device 901.
  • the sound output module 955 may include, for example, a speaker or receiver. Speakers can be used for general purposes such as multimedia playback or recording playback.
  • the receiver can be used to receive incoming calls. According to another embodiment, the receiver may be implemented separately from the speaker or as part of it.
  • the display module 960 can visually provide information to the outside of the electronic device 901 (eg, a user).
  • the display module 960 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling the device.
  • the display module 960 may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of force generated by the touch.
  • the audio module 970 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to another embodiment, the audio module 970 acquires sound through the input module 950, the sound output module 955, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 901). Sound may be output through an electronic device 902 (e.g., speaker or headphone).
  • an electronic device 902 e.g., speaker or headphone
  • the sensor module 976 detects the operating state (e.g., power or temperature) of the electronic device 901 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do.
  • the sensor module 976 may include, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.
  • the sensor module 976 may be configured to include the motion sensor units 160 and 260 of FIGS. 1 and 2.
  • the interface 977 may support one or more designated protocols that can be used to connect the electronic device 901 directly or wirelessly with an external electronic device (e.g., the electronic device 902).
  • the interface 977 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital interface
  • audio interface audio interface
  • connection terminal 978 may include a connector through which the electronic device 901 can be physically connected to an external electronic device (eg, the electronic device 902).
  • the connection terminal 978 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 979 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can perceive through tactile or kinesthetic senses.
  • the haptic module 979 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 980 can capture still images and moving images.
  • the camera module 980 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the camera module 980 may include the camera units 150 and 250 of FIGS. 1 and 2.
  • the power management module 988 can manage power supplied to the electronic device 901. According to another embodiment, the power management module 988 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 989 may supply power to at least one component of the electronic device 901.
  • the battery 989 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • Communication module 990 provides a direct (e.g., wired) communication channel or wireless communication channel between electronic device 901 and an external electronic device (e.g., electronic device 902, electronic device 904, or server 908). It can support establishment and communication through established communication channels. Communication module 990 operates independently of processor 920 (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication.
  • processor 920 e.g., an application processor
  • the communication module 990 may be 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., : LAN (local area network) communication module, or power line communication module) may be included.
  • 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
  • a wired communication module 994 e.g., : LAN (local area network) communication module, or power line communication module
  • the corresponding communication module is a first network 998 (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 999 (e.g., legacy It may communicate with an external electronic device 904 through a telecommunication network such as a cellular network, a fifth generation (5G) network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a fifth generation (5G) network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • 5G fifth generation
  • next-generation communication network e.g., the Internet
  • a computer network e.g., LAN or WAN
  • the wireless communication module 992 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 996 to communicate within a communication network such as the first network 998 or the second network 999.
  • subscriber information e.g., International Mobile Subscriber Identifier (IMSI)
  • IMSI International Mobile Subscriber Identifier
  • the wireless communication module 992 may support 5G networks and next-generation communication technologies after 4G (fourth generation) networks, for example, new radio access technology (NR access technology).
  • NR access technology provides high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and access to multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low latency). -latency communications)) can be supported.
  • the wireless communication module 992 may support a high frequency band (eg, millimeter wave (mmWave) band), for example, to achieve a high data transmission rate.
  • mmWave millimeter wave
  • the wireless communication module 992 uses various technologies to secure performance in high frequency bands, for example, beamforming, massive array multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. It can support technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna.
  • the wireless communication module 992 may support various requirements specified in the electronic device 901, an external electronic device (e.g., electronic device 904), or a network system (e.g., second network 999).
  • the wireless communication module 992 supports Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC.
  • Peak data rate e.g., 20 Gbps or more
  • loss coverage e.g., 164 dB or less
  • U-plane latency e.g., 164 dB or less
  • the antenna module 997 may transmit or receive signals or power to or from the outside (e.g., an external electronic device).
  • the antenna module 997 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB).
  • the antenna module 997 may include a plurality of antennas (eg, an array antenna).
  • at least one antenna suitable for the communication method used in the communication network such as the first network 998 or the second network 999, is connected to the plurality of antennas by, for example, the communication module 990.
  • the communication module 990 can be selected Signals or power may be transmitted or received between the communication module 990 and an external electronic device through the selected at least one antenna.
  • other components eg, radio frequency integrated circuit (RFIC) may be additionally formed as part of the antenna module 997.
  • RFIC radio frequency integrated circuit
  • the antenna module 997 may form a mmWave antenna module.
  • a mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.
  • a mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the
  • peripheral devices e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • signal e.g. commands or data
  • commands or data may be transmitted or received between the electronic device 901 and the external electronic device 904 through the server 908 connected to the second network 999.
  • Each of the external electronic devices 902 or 904 may be of the same or different type as the electronic device 901.
  • all or part of the operations performed in the electronic device 901 may be executed in one or more of the external electronic devices 902, 904, or 908.
  • the electronic device 901 may perform the function or service instead of executing the function or service on its own.
  • one or more external electronic devices may be requested to perform at least part of the function or service.
  • One or more external electronic devices that have received the request may execute at least part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device 901.
  • the electronic device 901 may process the result as is or additionally and provide it as at least part of a response to the request.
  • cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology can be used.
  • the electronic device 901 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
  • the external electronic device 904 may include an Internet of Things (IoT) device.
  • Server 908 may be an intelligent server using machine learning and/or neural networks.
  • an external electronic device 904 or server 908 may be included in the second network 999.
  • the electronic device 901 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
  • the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium.
  • the computer-readable medium may store program instructions, data files, data structures, etc., singly or in combination.
  • Program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as compact disc read only memory (CD-ROM), and digital versatile discs (DVDs). ), magneto-optical media such as floptical disks, and hardware devices specifically configured to store and perform program instructions such as ROM, RAM, flash memory, etc. do.
  • program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
  • the hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
  • Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device.
  • Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave.
  • Software may be distributed over networked computer systems and stored or executed in a distributed manner.
  • Software and data may be stored on one or more computer-readable recording media.
  • An optical image stabilization method includes: when an anti-shake start event occurs, storing a group of shake correction control instructions in a memory using a general-purpose processor; An operation of executing a polling timer instruction included in the shake correction control instruction group using a low-power processor to drive a polling timer so that shake correction can be performed at a preset cycle; and an operation of correcting shake of the camera unit based on the shake correction control instruction group using the low-power processor.
  • the optical image stabilization method includes, if an anti-shake end event does not occur after correcting the shake of the camera unit, checking whether the preset period of the polling timer has expired using the low-power processor. movement; If the preset period of the polling timer expires, repeating an operation of correcting shake of the camera unit using the low-power processor; And if the preset period of the polling timer has not expired, the operation may further include waiting at preset time intervals until the preset period of the polling timer expires using the low-power processor.
  • the optical image stabilization method may further include deleting the shake correction control instruction group from the memory using the general-purpose processor when an anti-shake end event occurs.
  • the optical image stabilization method connects a first virtual communication interface between the memory and the general-purpose processor to secure the shake correction adjustment value using the general-purpose processor before driving the polling timer. action; Receiving the shake correction adjustment value stored in the camera unit using the general-purpose processor and storing it in the memory through the first virtual communication interface; and initializing the shake correction control instruction group based on the shake correction adjustment value using the low-power processor.
  • the operation of correcting shake of the camera unit based on the shake correction control instruction group includes using the low-power processor, the low-power processor based on the shake correction control instruction group.
  • the operation of correcting shake of the camera unit based on the shake correction control instruction group is performed by using the general-purpose processor when the video-only image quality correction mode is executed in the video capture mode.
  • Using the low-power processor securing information for setting the shake correction intensity from the general-purpose processor through a second virtual communication interface based on the shake correction control instruction group;
  • the shake correction result may be generated by considering the shake correction strength.
  • the optical image stabilization method connects a first virtual communication interface between the memory and the general-purpose processor to secure the shake correction adjustment value using the general-purpose processor before driving the polling timer. action; Receiving the shake correction adjustment value stored in the camera unit using the general-purpose processor and storing it in the memory through the first virtual communication interface; Receiving motion attribute setting information for shake correction required to convert motion information sensed by the motion sensor unit into motion information for shake correction used for shake correction using the general-purpose processor; and initializing the shake correction control instruction group based on the shake correction adjustment value and the shake correction motion attribute setting information using the low-power processor.
  • the operation of correcting shake of the camera unit based on the shake correction control instruction group includes using the low-power processor, the low-power processor based on the shake correction control instruction group.
  • the operation of correcting shake of the camera unit based on the shake correction control instruction group includes using the low-power processor to generate the motion information based on the shake correction control instruction group. If a data collision is detected in the operation of acquiring, the operation may further include controlling the acquisition of low-priority motion information to be suspended until transmission of the motion information is completed according to priority.
  • An optical image stabilization device includes a camera unit including a shake correction driver that corrects shake according to a shake correction result; A motion sensor that senses motion and outputs motion information for user interface and motion information for shake compensation; Memory; and a mobile processor including a general-purpose processor and a low-power processor, wherein the general-purpose processor stores a group of shake correction control instructions in the memory when an anti-shake start event occurs, and the low-power processor stores the shake correction control instruction group stored in the memory. Execute the instructions included in the instruction group to drive a polling timer so that shake correction can be performed at a preset cycle, secure motion information for shake correction, generate the shake correction result according to the motion information for shake correction, and The shake correction result may be provided to the shake correction driver.
  • the shake correction control instruction group includes a shake correction control instruction group for acquiring motion information for shake correction from the motion sensor unit through the sensor interface circuit of the low-power processor using the low-power processor. It may include a motion sensor control instruction, and the low-power processor may acquire the motion information for shake correction from the motion sensor unit based at least on the motion sensor control instruction for shake correction.
  • the shake correction control instruction group includes a polling timer instruction for driving the polling timer using the low-power processor to enable shake correction to be performed at the preset cycle, If the anti-shake end event does not occur after compensating for shake, the low-power processor determines whether the preset period of the polling timer has expired, based at least on the polling timer instruction, and if the preset period has expired, the low-power processor determines whether the preset period of the polling timer has expired. , the preset period of the polling timer may be restarted, and if the preset period has not expired, the preset period may be made to wait at preset time intervals until the preset period of the polling timer expires.
  • the shake correction control instruction group includes communication interface control instructions for connecting a first virtual communication interface between the memory and the general-purpose processor using the general-purpose processor; and receiving the shake correction adjustment value stored in the camera unit through the first virtual communication interface using the general-purpose processor, and initializing shake correction based on the shake correction adjustment value using the low-power processor, A shake correction algorithm is executed using the low-power processor to generate the shake correction result corresponding to the motion information for shake correction, and the shake correction result is transmitted to the shake correction driver through the sensor interface circuit using the low-power processor.
  • the general-purpose processor sets the intensity of shake correction according to the surrounding illumination, based at least on the communication interface control instruction, when a video-only image quality correction mode is executed in the video capture mode.
  • the general-purpose processor sets the intensity of shake correction according to the surrounding illumination, based at least on the communication interface control instruction, when a video-only image quality correction mode is executed in the video capture mode.
  • the low-power processor may consider the shake correction intensity when generating the shake correction result based at least on the shake correction drive control instruction.
  • the general-purpose processor may delete the image stabilization control instruction group from the memory.
  • the motion sensor unit may output the motion information for the user interface and the motion information for stabilization through different communication channels.
  • An optical image stabilization device includes a camera unit including a shake correction driver that corrects shake according to a shake correction result; A motion sensor that senses motion and outputs motion information; Memory; and a mobile processor including a general-purpose processor and a low-power processor, wherein the general-purpose processor stores a group of shake correction control instructions in the memory when an anti-shake start event occurs, and the low-power processor stores the shake correction control instruction group stored in the memory. Execute the instructions included in the instruction group to drive a polling timer so that shake correction can be performed at a preset cycle, secure the motion information, generate the shake correction result according to the motion information, and generate the shake correction result. It can be provided as the shake correction driver.
  • the shake correction control instruction group sets motion properties for shake correction necessary to convert the motion information from the general-purpose processor into motion information for shake correction used for shake correction using the low-power processor. and shake correction sensor data processing instructions for receiving information and processing the motion information into motion information for shake correction using the motion attribute setting information for shake correction, wherein the low-power processor processes the shake correction sensor data processing instructions. At least based on this, receive the motion attribute setting information for shake correction from the general-purpose processor, process the motion information into the motion information for shake correction using the motion attribute setting information for shake correction, and process the motion information according to the motion information for shake correction. Shake correction results can be generated.
  • the shake correction control instruction group uses the low-power processor to acquire the motion information based on the shake correction control instruction group, and when a data collision is detected, first and a sensor input/output data control instruction for controlling the acquisition of low-priority motion information to be suspended until transmission of the motion information is completed according to the priority, and the low-power processor is configured to prevent data collision when acquiring the motion information.
  • acquisition of low-priority motion information may be suspended until transmission of motion information is completed according to priority based on the sensor input/output data control instruction.
  • the shake correction control instruction group includes communication interface control instructions for connecting a first virtual communication interface between the memory and the general-purpose processor using the general-purpose processor; and receiving the shake correction adjustment value stored in the camera unit through the first virtual communication interface using the general-purpose processor, and initializing shake correction based on the shake correction adjustment value using the low-power processor, Executing a shake correction algorithm using the low-power processor to generate the shake correction result corresponding to the motion information, and providing the shake correction result to the shake correction driver through the sensor interface circuit unit using the low-power processor and a shake correction driving control instruction for stabilization, wherein when a video-only image quality correction mode is executed in a video capture mode, the general-purpose processor secures information for setting the shake correction intensity according to the surrounding illumination, based at least on the communication interface control instruction.
  • the low-power processor may consider the shake correction intensity when generating the shake correction result based on the shake correction drive control instruction.
  • the motion sensor unit may output the motion information through one communication channel.

Landscapes

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

Abstract

본 개시는 저전력 프로세서를 이용하여 흔들림 보정을 제공하는 장치 및 방법에 관한 것으로, 흔들림 보정을 제공하는 방법은 카메라가 작동되면, 범용 프로세서에서 흔들림 보정 제어 인스트럭션 그룹을 메모리에 적재하고, 상기 흔들림 보정 제어 인스트럭션 그룹에 기초하여 초기 설정하고, 상기 흔들림 보정 제어 인스트럭션 그룹에서 기설정된 주기로 흔들림 보정이 수행될 수 있도록 저전력 프로세서에 종속된 폴링 타이머를 구동하고, 상기 흔들림 보정 제어 인스트럭션 그룹에서 상기 저전력 프로세서를 통해서 흔들림을 보정할 수 있다.

Description

저전력 프로세서를 이용하여 카메라의 광학식 흔들림 보정을 제어하는 장치 및 방법
이하의 일 실시 예들은 별도의 흔들림 보정 프로세서 대신에 센서를 제어하는 저전력 프로세서를 이용하여 카메라의 광학식 흔들림 보정을 제어하는 기술에 관한 것이다.
전자 기술의 발달에 힘입어 다양한 유형의 전자 제품들이 개발 및 보급되고 있다. 특히, 최근에는 스마트폰, 테블릿 PC 등과 같이 다양한 기능을 가지는 전자 장치의 보급이 확대되고 있다.
사용자가 전자 장치를 이용하여 이미지를 촬영하는 경우 미세한 흔들림이나 다른 잔진동 현상(ex. 불균일한 노면 위에서 운행되는 이동 수단)에 의해 이미지가 흐릿해지는 등의 화질 저하 현상이 발생할 수 있다. 카메라를 이용하여 촬영된 이미지의 화질 저하 현상을 방지하기 위해 흔들림 보정(image stabilization) 기능이 적용된 전자 장치가 개발되고 있다.
전자 장치에 적용되는 흔들림 보정 기능은 모션 센서를 이용하여 흔들림에 의한 움직임을 감지하고 흔들림에 의한 움직임과는 반대로 렌즈를 이동시켜 보정하고 있다.
이러한, 흔들림 보정을 위해서 전자 장치는 흔들림 보정을 제어하는 별도의 흔들림 보정 프로세서를 구비하고 있다.
이상은 단지 개시의 이해를 돕기 위한 배경 정보로 제공된다. 상기의 어느 것이 개시와 관련하여 선행기술로 적용될 수 있는지에 대한 어떠한 결정도 또는 어떠한 주장도 하지 않는다.
개시의 측면들은 적어도 상기에서 설명된 문제들 및/또는 단점들에 대해 다루고, 적어도 아래에 설명되는 이점들을 제공한다. 따라서, 개시의 일 측면은, 별도의 흔들림 보정 프로세서 대신에 센서를 제어하는 저전력 프로세서를 이용하여 흔들림 보정을 제공하는 장치 및 방법을 제공하는 것을 목적으로 한다.
추가적인 측면들은, 부분적으로는, 이어지는 설명에서 설명되고, 부분적으로는, 아래의 설명으로부터 명백하거나 개시되는 실시예들의 실시에 의하여 알 수 있을 것이다.
개시의 일측에 따르면 광학식 이미지 흔들림 보정 방법이 제공된다. 상기 광학식 이미지 흔들림 보정 방법은, 흔들림 방지 시작 이벤트가 발생하면, 범용 프로세서를 이용하여 흔들림 보정 제어 인스트럭션 그룹을 메모리에 저장하는 동작; 저전력 프로세서를 이용하여 상기 흔들림 보정 제어 인스트력션 그룹에 포함된 폴링 타이머 인스트럭션을 실행하여 기설정된 주기로 흔들림 보정이 수행될 수 있도록 폴링 타이머를 구동하는 동작; 및 상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 카메라의 흔들림을 보정하는 동작을 포함할 수 있다.
개시의 또 다른 일측에 따르면, 광학식 이미지 흔들림 보정 장치가 제공된다. 상기 광학식 이미지 흔들림 보정 장치는, 흔들림 보정 결과에 따라 흔들림을 보정하는 흔들림 보정 구동부를 포함하는 카메라; 모션을 센싱하고, 사용자 인터페이스용 모션 정보와 흔들림 보정용 모션 정보를 출력하는 모션 센서; 메모리; 및 범용 프로세서와 저전력 프로세서를 포함하는 모바일 프로세서를 포함하고, 상기 범용 프로세서는, 흔들림 방지 시작 이벤트가 발생하면 흔들림 보정 제어 인스트럭션 그룹을 상기 메모리에 저장하고, 상기 저전력 프로세서는, 상기 메모리에 저장된 상기 흔들림 보정 제어 인스트럭션 그룹에 포함된 인스트럭션을 실행하여 기설정된 주기로 흔들림 보정이 수행될 수 있도록 폴링 타이머를 구동하고, 상기 흔들림 보정용 모션 정보를 확보하고, 상기 흔들림 보정용 모션 정보에 따른 상기 흔들림 보정 결과를 생성하고, 상기 흔들림 보정 결과를 상기 흔들림 보정 구동부로 제공할 수 있다.
개시의 일 측면에 따른 광학식 이미지 흔들림 보정 장치는, 흔들림 보정 결과에 따라 흔들림을 보정하는 흔들림 보정 구동부를 포함하는 카메라; 모션을 센싱하고, 모션 정보를 출력하는 모션 센서; 메모리; 및 범용 프로세서와 저전력 프로세서를 포함하는 모바일 프로세서를 포함하고, 상기 범용 프로세서는, 흔들림 방지 시작 이벤트가 발생하면 흔들림 보정 제어 인스트럭션 그룹을 상기 메모리에 저장하고, 상기 저전력 프로세서는, 상기 메모리에 저장된 상기 흔들림 보정 제어 인스트럭션 그룹에 포함된 인스트럭션을 실행하여 기설정된 주기로 흔들림 보정이 수행될 수 있도록 폴링 타이머를 구동하고, 상기 모션 정보를 확보하고, 상기 모션 정보에 따른 상기 흔들림 보정 결과를 생성하고, 상기 흔들림 보정 결과를 상기 흔들림 보정 구동부로 제공할 수 있다.
개시의 다른 측면들, 이점들, 현저한 특징들은, 첨부된 도면을 참고하여 개시의 다양한 실시예들을 개시하는 아래의 상세한 설명으로부터 본 기술분야의 통상의 지식을 가진 자에게 명백할 것이다.
별도의 흔들림 보정 프로세서 대신에 센서를 제어하는 저전력 프로세서를 이용하여 흔들림 보정을 제공하는 장치 및 방법에 관한 것으로, 기존에 별도로 구비했던 흔들림 보정 프로세서를 제거할 수 있어서, 흔들림 보정 프로세서를 위한 전자 장치의 물리적 공간을 확보할 수 있고, 흔들림 보정 프로세서를 구동하는데 필요한 전력의 낭비를 줄일 수 있고, 흔들림 보정 프로세서를 구비하는데 들어가는 비용을 줄일 수 있다.
개시의 상기 및 다른 측면들, 특징들 및 이점들은, 첨부된 도면을 참고하여 아래의 설명으로부터 명백할 것이다.
도 1은 본 개시의 일 실시 예에 따른 2채널 모션 센서와 흔들림 보정 제어 인스트럭션 그룹을 이용하여 카메라의 광학식 흔들림 보정을 제어하는 전자 장치의 구성을 도시한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 1채널 모션 센서와 흔들림 보정 제어 인스트럭션 그룹을 이용하여 카메라의 광학식 흔들림 보정을 제어하는 전자 장치의 구성을 도시한 도면이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치에서 카메라의 광학식 흔들림 보정을 제어하는 과정을 도시한 흐름도이다.
도 4는 본 개시의 일 실시 예에 따른 전자 장치에서 흔들림 보정 조정값을 수신하는 과정을 도시한 흐름도이다.
도 5는 본 개시의 일 실시 예에 따른 전자 장치에서 모션 센서부가 2채널인 경우 사진 촬영 모드에서 카메라의 광학식 흔들림 보정을 제어하는 구체적인 과정을 도시한 흐름도이다.
도 6은 본 개시의 일 실시 예에 따른 전자 장치에서 모션 센서부가 2채널인 경우 동영상 촬영 모드에서 카메라의 광학식 흔들림 보정을 제어하는 구체적인 과정을 도시한 흐름도이다.
도 7은 본 개시의 일 실시 예에 따른 전자 장치에서 모션 센서부가 1채널인 경우 사진 촬영 모드에서 카메라의 광학식 흔들림 보정을 제어하는 구체적인 과정을 도시한 흐름도이다.
도 8은 본 개시의 일 실시 예에 따른 전자 장치에서 모션 센서부가 1채널인 경우 동영상 촬영 모드에서 카메라의 광학식 흔들림 보정을 제어하는 구체적인 과정을 도시한 흐름도이다.
도 9는 본 개시의 일 실시예에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도면 전체에 걸쳐, 동일하거나 유사한 요소, 특징 및 구조를 묘사하기 위해 유사한 참조 번호가 사용된다는 점에 유의해야 한다.
첨부된 도면들을 참조하여, 아래의 설명들은, 청구범위 및 그 균등범위에 의하여 정해지는 개시의 다양한 실시예들을 충분히 이해할 수 있도록 돕기 위하여 제공된다. 이는 이해를 돕기 위한 다양한 구체적인 상세들을 포함하지만, 이는 단순히 예시적인 것으로 이해되어야 한다. 따라서, 기술분야에서 통상의 지식을 가진 자는, 개시의 기술사상 및 범위로부터 벗어나지 않으면서, 여기에 설명된 다양한 실시예들에 대하여 다양한 변경들 및 변형들이 가능하다는 것을 알 수 있다. 또한, 잘 알려진 기능들과 구조들의 설명은 명확성 및 간결성을 위하여 생략될 수 있다.
아래의 설명 및 청구범위에서 사용된 용어들 및 단어들은 사전적 의미(bibliographical meanings)에 제한되지 않으며, 단지 개시의 명확하고 일관된 이해를 위하여 발명자에 의하여 사용된다. 따라서, 개시의 다양한 실시예들의 아래의 설명은 단지 설명의 목적으로 제공된 것이며, 첨부된 청구범위와 그 균등범위들에 의하여 정해지는 개시를 제한하기 위한 목적은 아니다.
문맥에서 명확하게 다르게 이야기하지 않는 한, "a", "an" 및 "the"와 같은 단수 형태들은 복수 형태도 포함하는 것으로 이해된다. 따라서, 예를 들어, "콤포넌트 표면(a component surface)"은 하나 이상의 이러한 표면들에 대한 참조를 포함한다.
본 개시에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 개시에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
이하에서는, 일 실시 예에 따른 저전력 프로세서를 이용해서 흔들림 보정을 제공하는 장치 및 방법을 첨부된 도 1 내지 도 8을 참조하여 상세히 설명한다.
도 1은 본 개시의 일 실시 예에 따른 2채널 모션 센서와 흔들림 보정 제어 인스트럭션 그룹을 이용하여 카메라의 광학식 흔들림 보정을 제어하는 전자 장치의 구성을 도시한 도면이다.
도 1을 참조하면, 전자 장치(100)는 모바일 프로세서(110), 메모리(120), 카메라부(150) 및 모션 센서부(160)를 포함할 수 있다.
모바일 프로세서(110)는 범용 프로세서(111), 저전력 프로세서(112), 영상 데이터 인터페이스 회로부(114), 범용 인터페이스 회로부(115)를 포함할 수 있다.
범용 프로세서(111)는 중앙 처리 장치 또는 어플리케이션 프로세서에 해당하며, 소프트웨어를 실행하여 전자 장치(100)의 적어도 하나의 다른 구성요소를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 범용 프로세서(111)는 멀티 코어로 구성될 수 있다.
범용 프로세서(111)는 흔들림 방지 시작 이벤트가 발생하는 경우, 흔들림 보정 제어 인스트럭션 그룹(130)을 메모리(120)에 저장할 수 있고, 범용 프로세서(111)는 흔들림 방지 종료 이벤트가 발생하는 경우, 흔들림 보정 제어 인스트럭션 그룹(130)를 메모리(120)에서 삭제할 수 있다.
이때, 흔들림 방지 시작 이벤트는 카메라 앱이 실행되어 카메라부(150)가 동작하기 직전에 발생될 수 있다. 하지만, 이에 한정되지 않고, 흔들림 방지 시작 이벤트는 카메라 앱이 실행된 경우, 또는 카메라부(150)가 동작하기 시작한 경우에 발생할 수도 있다. 또한, 흔들림 방지 종료 이벤트는 카메라 앱이 종료되어 카메라부(150)의 동작이 멈추기 직전에 발생될 수 있다. 하지만, 이에 한정되지 않고, 흔들림 방지 종료 이벤트는 카메라 앱이 종료되는 경우, 또는 카메라부(150)의 동작이 종료된 경우 발생할 수도 있다.
저전력 프로세서(112)는 범용 프로세서(111)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있으며, 도 1에서 저전력 프로세서(112)는 적어도 하나의 센서들을 제어하는 센서 허브 프로세서로 동작할 수 있다. 저전력 프로세서(112)는 하나의 코어로 구성될 수 있다. 저전력 프로세서(112)는 흔들림 보정 제어 인스트럭션 그룹(130)에 연산 능력을 제공할 수 있다.
영상 데이터 인터페이스 회로부(114)는 카메라부(150)와의 통신을 제공하고, 범용 인터페이스 회로부(115)는 전자 장치(100)의 주변 장치와의 통신을 제공할 수 있다.
카메라부(150)는 카메라 이미지 센서(151), 카메라 메모리(152) 및 흔들림 보정 구동부(153)를 포함할 수 있다.
카메라 이미지 센서(151)는 광을 수신하여 이미지를 획득할 수 있다.
카메라 이미지 센서(151)는 영상 데이터 인터페이스 회로부(114)와 CSI(camera serial interface) 채널로 연결되어 획득한 이미지를 영상 데이터 인터페이스 회로부(114)를 통해서 범용 프로세서(111)로 제공할 수 있다.
카메라 메모리(152)는 흔들림 보정 구동부(153)을 캘리브레이션(calibration)하기 위한 흔들림 보정 조정값을 저장할 수 있다.
흔들림 보정 구동부(153)는 흔들림 보정 결과를 수신하면 적어도 하나의 렌즈(미도시)를 물리적으로 조정하여 카메라부(150)의 흔들림을 보정할 수 있다.
모션 센서부(160)는 전자 장치(100)의 모션을 센싱하고, 사용자 인터페이스용 모션 정보와 흔들림 보정용 모션 정보를 출력할 수 있다.
모션 센서부(160)는 사용자 인터페이스용 모션 정보와 흔들림 보정용 모션 정보를 각기 다른 통신 채널을 통해서 출력할 수 있다.
보다 구체적으로, 모션 센서부(160)는 모션 센서(161), 사용자 인터페이스 센서 데이터 모듈(162) 및 흔들림 보정 센서 데이터 모듈(163)을 포함할 수 있다.
모션 센서(161)는 전자 장치(100)의 움직임을 감지하여 센서 데이터로 출력하는 구성으로 가속도 센서 3축과 자이로 센서 3축의 6축 센서로 구성될 수 있다.
사용자 인터페이스 센서 데이터 모듈(162)은 모션 센서(161)에서 센싱한 센서 데이터 중에서 사용자 인터페이스에 해당하는 센서 데이터를 사용자 인터페이스용 모션 정보로 가공하여 저전력 프로세서(112)의 센서 인터페이스 회로부(113)으로 제공할 수 있다. 이때, 사용자 인터페이스용 모션 정보는 사용자 인터페이스 센서 데이터 모듈(162)과 센서 인터페이스 회로부(113) 간에 연결된 I3C 인터페이스를 통해서 전달될 수 있다.
흔들림 보정 센서 데이터 모듈(163)은 모션 센서(161)에서 센싱한 센서 데이터 중에서 흔들림에 해당하는 센서 데이터를 흔들림 보정용 모션 정보로 가공하여 저전력 프로세서(112)의 센서 인터페이스 회로부(113)으로 제공할 수 있다. 이때, 흔들림 보정용 모션 정보는 흔들림 보정 센서 데이터 모듈(163)과 센서 인터페이스 회로부(113) 간에 연결된 SPI(serial peripheral interface) 인터페이스를 통해서 전달될 수 있다.
메모리(120)는 전자 장치(100)의 전반적인 동작을 제어하기 위한 운영체제, 응용 프로그램 및 저장용 데이터(예를 들어, 전화번호, SMS(short messaging service) 메시지, 압축된 이미지 파일, 동영상 등)를 저장한다. 또한, 메모리(120)는 본 개시에 따라 범용 프로세서(111)에 의해서 흔들림 보정 제어 인스트럭션 그룹(130)이 저장될 수 있고, 사용자 인터페이스용 모션 센서 인스트럭션(140)이 저정될 수 있다.
저전력 프로세서(112)는 흔들림 보정 제어 인스트럭션 그룹(130)에 포함된 인스트럭션을 실행하여 기설정된 주기로 흔들림 보정이 수행될 수 있도록 폴링 타이머를 구동하고, 흔들림 보정용 모션 정보를 확보하고, 흔들림 보정용 모션 정보에 따른 상기 흔들림 보정 결과를 생성하고, 흔들림 보정 결과를 흔들림 보정 구동부(153)로 제공할 수 있다.
보다 구체적으로, 흔들림 보정 제어 인스트럭션 그룹(130)은 폴링 타이머 인스트럭션(131), 통신 인터페이스 제어 인스트럭션(132), 흔들림 보정 구동 제어 인스트럭션(133) 및 흔들림 보정용 모션 센서 제어 인스트럭션(134)을 포함할 수 있다.
폴링 타이머 인스트럭션(131)은 기설정된 주기로 흔들림 보정이 수행될 수 있도록 하는 구성으로, 흔들림을 보정한 후에 흔들림 방지 종료 이벤트가 발생하지 않는 경우, 기설정된 주기가 만료되었는지 여부를 확인하도록 하는 인스트럭션일 수 있다.
폴링 타이머 인스트럭션(131)은 기설정된 주기가 만료된 경우, 기설정된 주기를 다시 시작하도록 하는 인스트럭션일 수 있다.
폴링 타이머 인스트럭션(131)은 기설정된 주기가 만료되지 않았으면, 기설정된 주기가 만료될 때까지 기설정된 시간 간격으로 대기하도록 하는 인스트럭션일 수 있다.
본 개시의 폴링 타이머 인스트럭션(131)을 이용한 폴링 타이머는 물리적인 타이머가 아닌 소프트웨어 타이머이다.
종래의 소프트웨어 타이머는 대부분 사용자 기반의 일상적인 동작 처리를 하기 위해 사용되어져 왔기에 msec 단위 수준에서 디자인되어 사용되어져 왔다.
하지만, msec 단위 수준에서 디자인된 소프트웨어 타이머는 오차범위가 커서 광학식 흔들림 보정을 제어하는 장치와 같이 OIS 알고리즘같이 시간에 민감한 동작을 수행하기에는 적합하지 않았다.
본 개시에서는 저전력 프로세서(112)의 하드웨어 틱 카운터(HW Tick Counter)의 최소 단위인nano second 수준으로 폴링 타이머를 제공하여 정확성을 극대화 할 수 있다.
하지만, 폴링 타이머를 매번 nano second로 폴링(Polling) 시키시면서 타이머를 돌리기엔 저전력 프로세서(112)에 부담을 줄 수도 있어서 동적으로 스케일링 팩터(Scaling Factor)를 사용할 수 있다.
예를 들어, 흔들림 보정 알고리즘이 1 msec 이전에 종료된 경우, 수십 usec의 의도 지연으로 폴링 타이머를 속히 만료 시키고, 만료 시점이 거의 도래하면 다시 nano sec 단위로 환원하여 기존의 정확도를 그대로 유지한다.
통신 인터페이스 제어 인스트럭션(132)은 흔들림 보정 조정값을 수신하기 위해서 메모리(120)와 범용 프로세서(111) 간의 제1 가상 통신 인터페이스를 연결하기 위한 인스트럭션 일 수 있다. 이때, 제1 가상 통신 인터페이스는 I2C 인터페이스의 동작을 모방한 가상의 통신 인터페이스 일 수 있다.
또한, 통신 인터페이스 제어 인스트럭션(132)은 동영상 촬영 모드에서 동영상 전용 화질 보정 모드가 실행된 경우, 범용 프로세서(111)를 이용하여 주변 조도에 따라서 흔들림 보정 강도를 설정하는 정보를 확보하기 위해서 메모리(120)와 범용 프로세서(111) 간의 제2 가상 통신 인터페이스를 연결하고, 흔들림 보정 강도를 설정하는 정보를 이용해서 흔들림 보정 강도를 확인하고, 흔들림 보정 강도를 흔들림 보정 구동 제어 인스트럭션(133)을 실행하는 저전력 프로세서(112)로 제공하는 인스트럭션 일 수 있다. 이때, 제2 가상 통신 인터페이스는 I2C 인터페이스의 동작을 모방한 가상의 통신 인터페이스 일 수 있다.
흔들림 보정용 모션 센서 제어 인스트럭션(134)은 저전력 프로세서(112)를 이용하여 저전력 프로세서(112)의 센서 인터페이스 회로부(113)를 통해서 모션 센서부(160)로부터 흔들림 보정용 모션 정보를 획득하는 인스트럭션 일 수 있다.
흔들림 보정 구동 제어 인스트럭션(133)은 범용 프로세서(111)를 이용하여 제1 가상 통신 인터페이스를 통해서 카메라부(150)에 저장된 흔들림 보정 조정값을 수신하고, 저전력 프로세서(112)를 이용하여 흔들림 보정 조정값을 기반으로 흔들림 보정을 초기화 설정하고, 저전력 프로세서(112)를 이용하여 흔들림 보정 알고리즘을 실행하여 흔들림 보정용 모션 정보에 대응하는 흔들림 보정 결과를 생성하고, 저전력 프로세서(112)를 이용하여 센서 인터페이스 회로부(113)를 통해서 흔들림 보정 결과를 흔들림 보정 구동부(153)로 제공하도록 하는 인스트럭션일 수 있다. 흔들림 보정 구동 제어 인스트럭션(133)의 초기화는 흔들림 보정 알고리즘을 실행할 때, 흔들림 보정 조정값을 이용해서 켈리브레이션을 수행할 수 있도록 하는 것일 수 있다.
흔들림 보정 구동 제어 인스트럭션(133)은 동영상 촬영 모드에서 동영상 전용 화질 보정 모드가 실행되는 경우, 흔들림 보정 결과를 생성할 때, 흔들림 보정 강도를 고려하여 흔들림 보정 결과를 생성하는 인스트럭션일 수 있다.
한편, 흔들림 보정 제어 인스트럭션 그룹(130)을 폴링 타이머 인스트럭션(131), 통신 인터페이스 제어 인스트럭션(132), 흔들림 보정 구동 제어 인스트럭션(133) 및 흔들림 보정용 모션 센서 제어 인스트럭션(134)와 구분하여 도시한 것은 각 기능들을 구별하여 설명하기 위함이다.
도 2는 본 개시의 일 실시 예에 따른 1채널 모션 센서와 흔들림 보정 제어 인스트럭션 그룹을 이용하여 카메라의 광학식 흔들림 보정을 제어하는 전자 장치의 구성을 도시한 도면이다.
도 2를 참조하면, 전자 장치(200)는 모바일 프로세서(210), 메모리(220), 카메라부(250) 및 모션 센서부(260)를 포함할 수 있다.
모바일 프로세서(210)는 범용 프로세서(211), 저전력 프로세서(212), 영상 데이터 인터페이스 회로부(214), 범용 인터페이스 회로부(215)를 포함할 수 있다.
범용 프로세서(211)는 중앙 처리 장치 또는 어플리케이션 프로세서에 해당하며, 소프트웨어를 실행하여 전자 장치(200)의 적어도 하나의 다른 구성요소를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 범용 프로세서(211)는 멀티 코어로 구성될 수 있다.
범용 프로세서(211)는 흔들림 방지 시작 이벤트가 발생하는 경우, 흔들림 보정 제어 인스트럭션 그룹(230)을 메모리(220)에 적재하고, 범용 프로세서(211)는 흔들림 방지 종료 이벤트가 발생하는 경우, 흔들림 보정 제어 인스트럭션 그룹(230)을 메모리(220)에서 삭제한다.
이때, 흔들림 방지 시작 이벤트는 카메라 앱이 실행되어 카메라부(150)가 동작하기 직전에 발생될 수 있다. 하지만, 이에 한정되지 않고, 흔들림 방지 시작 이벤트는 카메라 앱이 실행된 경우, 또는 카메라부(150)가 동작하기 시작한 경우에 발생할 수도 있다. 또한, 흔들림 방지 종료 이벤트는 카메라 앱이 종료되어 카메라부(150)의 동작이 멈추기 직전에 발생될 수 있다. 하지만, 이에 한정되지 않고, 흔들림 방지 종료 이벤트는 카메라 앱이 종료되는 경우, 또는 카메라부(150)의 동작이 종료된 경우 발생할 수도 있다.
저전력 프로세서(212)는 범용 프로세서(211)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있으며, 도 2에서 저전력 프로세서(212)는 센서들을 제어하는 센서 허브 프로세서로 동작한다. 저전력 프로세서(212)는 하나의 코어로 구성될 수 있다. 저전력 프로세서(212)는 흔들림 보정 제어 인스트럭션 그룹(230)에 연산 능력을 제공할 수 있다.
영상 데이터 인터페이스 회로부(214)는 카메라부(250)와의 통신을 제공하고, 범용 인터페이스 회로부(215)는 전자 장치(200)의 주변 장치와의 통신을 제공한다.
카메라부(250)는 카메라 이미지 센서(251), 카메라 메모리(252) 및 흔들림 보정 구동부(253)를 포함할 수 있다.
카메라 이미지 센서(251)는 광을 수신하여 이미지를 획득한다.
카메라 이미지 센서(251)는 영상 데이터 인터페이스 회로부(214)와 CSI(camera serial interface) 채널로 연결되어 획득한 이미지를 영상 데이터 인터페이스 회로부(214)를 통해서 범용 프로세서(211)로 제공할 수 있다.
카메라 메모리(252)는 흔들림 보정 구동부(253)을 캘리브레이션(calibration)하기 위한 흔들림 보정 조정값을 저장할 수 있다.
흔들림 보정 구동부(253)는 흔들림 보정 결과를 수신하면 적어도 하나의 렌즈(미도시)를 물리적으로 조정하여 카메라부(150)의 흔들림을 보정할 수 있다.
모션 센서부(260)는 모션을 센싱하고, 모션 정보를 출력한다.
모션 센서부(260)는 모션 정보를 하나의 통신 채널(I3C 인터페이스)을 통해서 출력할 수 있다.
보다 구체적으로, 모션 센서부(260)는 모션 센서(261) 및 센서 데이터 모듈(262)을 포함할 수 있다.
모션 센서(261)는 전자 장치(200)의 움직임을 감지하여 센서 데이터로 출력하는 구성으로 가속도 센서 3축과 자이로 센서 3축의 6축 센서로 구성될 수 있다.
센서 데이터 모듈(262)은 모션 센서(261)에서 센싱한 센서 데이터를 모션 정보로 가공하여 저전력 프로세서(212)의 센서 인터페이스 회로부(213)으로 제공할 수 있다.
이때, 모션 정보는 센서 데이터 모듈(262)과 센서 인터페이스 회로부(213) 간에 연결된 I3C 인터페이스를 통해서 전달될 수 있다. 모션 정보는 사용자 인터페이스용 모션 정보 또는 흔들림 보정용 모션 정보로 이용될 수 있으며, 흔들림 보정용 모션 정보로 이용하려면 추가 가공을 필요로 할 수 있다.
메모리(220)는 전자 장치(200)의 전반적인 동작을 제어하기 위한 운영체제, 응용 프로그램 및 저장용 데이터(예를 들어, 전화번호, SMS 메시지, 압축된 이미지 파일, 동영상 등)를 저장한다. 또한, 메모리(220)는 본 개시에 따라 범용 프로세서(211)에 의해서 흔들림 보정 제어 인스트럭션 그룹(230)이 적재될 수 있고, 사용자 인터페이스용 모션 센서 인스트럭션(240)이 저장될 수 있다.
저전력 프로세서(212)는 흔들림 보정 제어 인스트럭션 그룹(230)에 포함된 인스트럭션을 실행하여 기설정된 주기로 흔들림 보정이 수행될 수 있도록 폴링 타이머를 구동하고, 모션 정보를 확보하고, 모션 정보에 따른 흔들림 보정 결과를 생성하고, 흔들림 보정 결과를 흔들림 보정 구동부(253)로 제공할 수 있다.
보다 구체적으로, 흔들림 보정 제어 인스트럭션 그룹(230)는 폴링 타이머 인스트럭션(231), 통신 인터페이스 제어 인스트럭션(232), 흔들림 보정 구동 제어 인스트럭션(233), 흔들림 보정용 모션 센서 제어 인스트럭션(234), 흔들림 보정용 센서 데이터 가공 인스트럭션(235) 및 센서 입출력 데이터 제어 인스트럭션(236)을 포함할 수 있다.
폴링 타이머 인스트럭션(231)은 기설정된 주기로 흔들림 보정이 수행될 수 있도록 하는 구성으로, 흔들림을 보정한 후에 카메라가 계속 켜져 있는 경우, 폴링 타이머에서 기설정된 주기가 만료되었는지 여부를 확인하도록 하는 인스트럭션일 수 있다.
폴링 타이머 인스트럭션(231)은 기설정된 주기가 만료된 경우, 흔들림 보정 제어 인스트럭션 그룹(230)에서 흔들림을 보정하는 반복할 수 있도록, 기설정된 주기를 다시 시작하도록 하는 인스트럭션일 수 있다.
폴링 타이머 인스트럭션(231)은 기설정된 주기가 만료되지 않았으면, 기설정된 주기가 만료될 때까지 기설정된 시간 간격으로 대기하도록 하는 인스트럭션일 수 있다.
통신 인터페이스 제어 인스트럭션(232)은 흔들림 보정 조정값을 수신하기 위해서 메모리(220)와 범용 프로세서(211) 간의 제1 가상 통신 인터페이스를 연결하기 위한 인스트럭션일 수 있다. 이때, 제1 가상 통신 인터페이스는 I2C 인터페이스의 동작을 모방한 가상의 통신 인터페이스 일 수 있다.
또한, 통신 인터페이스 제어 인스트럭션(232)은 동영상 촬영 모드에서 동영상 전용 화질 보정 모드가 실행되면, 범용 프로세서(211)를 이용하여 주변 조도에 따라서 흔들림 보정 강도를 설정하는 정보를 확보하기 위해서 메모리(220)와 범용 프로세서(211) 간의 제2 가상 통신 인터페이스를 연결하고, 흔들림 보정 강도를 설정하는 정보를 이용해서 흔들림 보정 강도를 확인하고, 흔들림 보정 강도를 흔들림 보정 구동 제어 인스트럭션(233)을 실행하는 저전력 프로세서(212)로 제공하는 인스트력션 일 수 있다. 이때, 제2 가상 통신 인터페이스는 I2C 인터페이스의 동작을 모방한 가상의 통신 인터페이스 일 수 있다.
흔들림 보정용 모션 센서 제어 인스트럭션(234)은 저전력 프로세서(212)를 이용하여 저전력 프로세서(212)의 센서 인터페이스 회로부(213)를 통해서 모션 센서부(260)로부터 모션 정보를 획득하는 인스트럭션 일 수 있다.
흔들림 보정용 센서 데이터 가공 인스트럭션(235)은 저전력 프로세서(212)를 이용하여 범용 프로세서(211)로부터 모션 정보를 흔들림 보정에 이용되는 흔들림 보정용 모션 정보로 변환하는데 필요한 흔들림 보정용 모션 속성 설정 정보를 수신하고, 흔들림 보정용 모션 속성 설정 정보를 이용하여 모션 정보를 상기 흔들림 보정용 모션 정보로 가공하도록 하는 인스트럭션 일 수 있다.
센서 입출력 데이터 제어 인스트럭션(236)은 저전력 프로세서(212)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹에 기반하여 모션 정보를 획득할 때, 데이터의 충돌을 감지하는 경우, 우선순위에 따라서 모션 정보의 송신이 끝날 때까지 우선순위가 낮은 모션 정보의 획득을 보류하도록 제어하는 인스트럭션 일 수 있다. 이때, 모션 정보의 데이터 충돌은 증강 현실과 같이 모션 정보로 사용자 인터페이스를 처리함과 동시에 카메라가 구동되는 경우, 카메라의 흔들림 보정이 동시에 발생하는 경우, 충돌할 가능성이 높다.
즉, 센서 입출력 데이터 제어 인스트럭션(236)은 흔들림 보정용 모션 센서 제어 인스트럭션(234)와 사용자 인터페이스용 모션 센서 인스터럭션(240)이 비슷한 시점(다른 데이터 요청이 끝나 전에)에 모션 정보를 획득하려고 하는 경우 우선순위가 낮은 모션 정보의 획득을 보류하도록 하는 인스트럭션 일 수 있다.
이때, 우선순위는 먼저 모션 정보를 획득(읽어오려는)하려고 하는 구성이 더 높은 우선순위를 가지도록 할 수도 있고, 흔들림 보정용 모션 센서 제어 인스트럭션(234)이 사용자 인터페이스용 모션 센서 인스트럭션(240) 보다 더 빠른 모션 정보를 필요로 함으로, 데이터 충돌시 흔들림 보정용 모션 센서 제어 인스트럭션(234)에서 요청한 모션 정보를 더 우선순위가 높도록 설정할 수도 있다.
흔들림 보정 센서 데이터 가공 인스트럭션(235)은 저전력 프로세서(212)를 이용하여 범용 프로세서(211)로부터 모션 정보를 흔들림 보정에 이용되는 흔들림 보정용 모션 정보로 변환하는데 필요한 흔들림 보정용 모션 속성 설정 정보를 수신하고, 흔들림 보정용 모션 속성 설정 정보를 이용하여 모션 정보를 흔들림 보정용 모션 정보로 가공하도록 하는 인스트럭션 일 수 있다.
흔들림 보정 구동 제어 인스트럭션(233)는 범용 프로세서(211)를 이용하여 제1 가상 통신 인터페이스를 통해서 카메라부(250)에 저장된 흔들림 보정 조정값을 수신하고, 저전력 프로세서(212)를 이용하여 흔들림 보정 조정값을 기반으로 흔들림 보정을 초기화 설정하고, 저전력 프로세서(212)를 이용하여 흔들림 보정 알고리즘을 실행하여 흔들림 보정용 모션 정보에 대응하는 흔들림 보정 결과를 생성하고, 저전력 프로세서(212)를 이용하여 센서 인터페이스 회로부(213)를 통해서 흔들림 보정 결과를 흔들림 보정 구동부(253)로 제공하도록 하는 인스트럭션 일 수 있다. 흔들림 보정 구동 제어 인스트럭션(233)은 흔들림 보정 알고리즘을 실행하는 경우, 흔들림 보정 조정값을 이용해서 켈리브레이션을 수행하도록 할 수 있다.
흔들림 보정 구동 제어 인스트럭션(233)은 동영상 촬영 모드에서 동영상 전용 화질 보정 모드가 실행되면, 흔들림 보정 결과를 생성하는 경우, 흔들림 보정 강도를 고려하여 흔들림 보정 결과를 생성하도록 하는 인스터럭션 일 수 있다.
한편, 흔들림 보정 제어 인스트럭션 그룹(230)을 폴링 타이머 인스트럭션 (231), 통신 인터페이스 제어 인스트럭션(232), 흔들림 보정 구동 제어 인스트럭션(233), 흔들림 보정용 모션 센서 제어 인스트럭션(234), 흔들림 보정 센서 데이터 가공부(235) 및 센서 입출력 데이터 제어부(236)와 구분하여 도시한 것은 각 기능들을 구별하여 설명하기 위함이다.
이하, 상기와 같이 구성된 본 개시에 따른 방법을 아래에서 도면을 참조하여 설명한다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치에서 카메라의 광학식 흔들림 보정을 제어하는 과정을 도시한 흐름도이다.
도 3을 참조하면, 전자 장치(100, 200)는 흔들림 방지 시작 이벤트가 발생하는 경우(310), 범용 프로세서(111, 211)에서 흔들림 보정 제어 인스트럭션 그룹(130, 230)을 메모리(120, 220)에 저장할 수 있다(312). 이때, 흔들림 방지 시작 이벤트는 카메라 앱이 실행되어 카메라부(150, 250)가 동작하기 직전에 발생될 수 있다. 하지만, 이에 한정되지 않고, 흔들림 방지 시작 이벤트는 카메라 앱이 실행된 경우, 또는 카메라부(150, 250)가 동작하기 시작한 경우에 발생할 수도 있다.
그리고, 전자 장치(100, 200)는 범용 프로세서(111, 211)를 이용하여 흔들림 보정 조정값을 수신할 수 있다(314). 흔들림 보정 조정값을 수신하는 314동작은 이후 도 4를 통해서 후술한다.
그리고, 전자 장치(100, 200)는 저전력 프로세서(112, 212)를 이용하여 흔들림 보정 조정값을 기반으로 흔들림 보정 제어 인스트럭션 그룹(130, 230)을 기반으로 초기화 설정을 할 수 있다(316).
316동작의 초기화 설정은 도 1의 전자 장치(100)와 도 2의 전자 장치(200)가 각기 다르게 동작할 수 있다.
316동작에서 도 1의 전자 장치(100)는 저전력 프로세서(112)를 이용하여 흔들림 보정 조정값을 기반으로 흔들림 보정 제어 인스트럭션 그룹을 초기화 설정할 수 있다.
316동작에서 도 2의 전자 장치(200)는 저전력 프로세서(212)를 이용하여 흔들림 보정 조정값과 흔들림 보정용 모션 속성 설정 정보를 기반으로 흔들림 보정 제어 인스트럭션 그룹을 초기화 설정할 수 있다.
이때, 흔들림 보정용 모션 속성 설정 정보는 모션 센서부(260)가 센싱하는 모션 정보를 흔들림 보정에 이용되는 흔들림 보정용 모션 정보로 변환하는데 필요한 정보로써, 범용 프로세서(211)를 이용하여 수신할 수 있다.
흔들림 보정 조정값을 이용해서 켈리브레이션을 통한 초기화 설정이 필요없는 경우 314동작과 316동작은 도 3의 과정에서 생략될 수도 있다.
그리고, 전자 장치(100, 200)는 저전력 프로세서(112, 212)를 이용하여 흔들림 보정 제어 인스트럭션 그룹(130, 230)에 포함된 폴링 타이머 인스트럭션(131, 231)을 실행하여 기설정된 주기로 흔들림 보정이 수행될 수 있도록 폴링 타이머를 구동할 수 있다(318).
그리고, 전자 장치(100, 200)는 저전력 프로세서(112, 212)를 이용하여 흔들림 보정 제어 인스트럭션 그룹(130, 230)에 기반하여 카메라부(150, 250)의 흔들림을 보정할 수 있다(320).
그리고, 전자 장치(100, 200)는 흔들림 방지 종료 이벤트가 발생하였는지 여부를 확인할 수 있다(322).
이때, 흔들림 방지 종료 이벤트는 카메라 앱이 종료되어 카메라부(150, 250)의 동작이 멈추기 직전에 발생될 수 있다. 하지만, 이에 한정되지 않고, 흔들림 방지 종료 이벤트는 카메라 앱이 종료되는 경우, 또는 카메라부(150, 250)의 동작이 종료된 경우 발생할 수도 있다.
322동작의 확인결과 흔들림 방지 종료 이벤트가 발생하는 경우, 전자 장치(100, 200)는 범용 프로세서(111, 211)를 이용하여 흔들림 보정 제어 인스트럭션 그룹(130, 230)을 메모리(120, 220)에서 삭제할 수 있다(324).
322동작의 확인결과 흔들림 방지 종료 이벤트가 발생하지 않는 경우, 전자 장치(100, 200)는 저전력 프로세서(112, 212)를 이용하여 폴링 타이머의 기설정된 주기가 만료되었는지 여부를 확인할 수 있다(326).
326동작의 확인결과 기설정된 주기가 만료된 경우, 전자 장치(100, 200)는 저전력 프로세서(112, 212)를 이용하여 320동작으로 돌아가 카메라부(150, 250)의 흔들림을 보정하는 일련의 과정을 반복할 수 있다.
326동작의 확인결과 기설정된 주기가 만료되지 않은 경우, 전자 장치(100, 200)는 저전력 프로세서(112, 212)를 이용하여 폴링 타이머의 기설정된 주기가 만료될 때까지 기설정된 시간 간격으로 대기할 수 있다(328).
도 4는 본 개시의 일 실시 예에 따른 전자 장치에서 흔들림 보정 조정값을 수신하는 과정을 도시한 흐름도이다.
도 4를 참조하면, 전자 장치(100, 200)는 범용 프로세서(111, 211)를 이용하여 흔들림 보정 제어 인스트럭션 그룹(130, 230)를 기반으로 켈리브레이션에 이용하는 흔들림 보정 조정값을 확보하기 위한 제1 가상 통신 인터페이스를 범용 프로세서(111)로 연결할 수 있다(410).
그리고, 전자 장치(100, 200)는 범용 프로세서(111, 211)를 이용하여 카메라부(150)에 저장된 흔들림 보정 조정값을 수신하고, 제1 가상 통신 인터페이스를 통해서 메모리(120, 220)에 저장할 수 있다(412).
이때, 제1 가상 통신 인터페이스는 I2C(Inter-Integrated Circuit) 인터페이스의 동작을 모방한 가상의 통신 인터페이스 일 수 있다.
도 3의 흔들림 보정을 제공하는 과정에서 카메라부(150, 250)의 흔들림을 보정하는 320동작은 도 1의 전자 장치(100)와 도 2의 전자 장치(200)가 각기 다르게 동작할 수 있다.
도 1의 전자 장치(100)에서 320동작을 수행하는 구체적인 실시 예를 아래에서 도 5, 6을 참조해서 후술하고, 도 2의 전자 장치(200)에서 320동작을 수행하는 구체적인 실시 예를 아래에서 도 7, 8을 참조해서 후술한다.
도 5는 본 개시의 일 실시 예에 따른 전자 장치에서 모션 센서부가 2채널인 경우 사진 촬영 모드에서 카메라의 광학식 흔들림 보정을 제어하는 구체적인 과정을 도시한 흐름도이다.
도 5를 참조하면, 전자 장치(100)는 카메라의 모드가 사진 촬영 모드인지 여부를 확인 할 수 있다(510).
510동작의 확인결과 현재 카메라의 모드가 사진 촬영 모드인 경우, 전자 장치(100)는 저전력 프로세서(112)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(130)에 기반하여 저전력 프로세서(112)의 센서 인터페이스 회로부(113)를 통해서 모션 센서부(160)로부터 흔들림 보정용 모션 정보를 획득할 수 있다(520). 520동작에서 흔들림 보정용 모션 정보의 획득은 저전력 프로세서(112)에서 기설정된 주기(예를 들어, 1/6.6K sec) 마다 센서 인터페이스 회로부(113)를 통해서 모션 센서부(160)로부터 읽는(Read) 방식으로 획득할 수 있다.
그리고, 전자 장치(100)는 저전력 프로세서(112)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(130)에 기반하여 흔들림 보정 알고리즘을 실행하여 흔들림 보정용 모션 정보에 대응하는 흔들림 보정 결과를 생성할 수 있다(522).
그리고, 전자 장치(100)는 저전력 프로세서(112)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(130)에 기반하여 흔들림 보정 결과를 센서 인터페이스 회로부(113)를 통해서 흔들림 보정 결과를 카메라부(150)에 포함된 흔들림 보정 구동부(153)로 제공하여 흔들림 보정 구동부(153)로 하여금 카메라부(150)의 흔들림 보정을 수행할 수 있도록 할 수 있다(524).
도 6은 본 개시의 일 실시 예에 따른 전자 장치에서 모션 센서부가 2채널인 경우 동영상 촬영 모드에서 카메라의 광학식 흔들림 보정을 제어하는 구체적인 과정을 도시한 흐름도이다.
도 6을 참조하면, 전자 장치(100)는 카메라의 모드가 동영상 촬영 모드인지 여부를 확인 할 수 있다(610).
610동작의 확인결과 현재 카메라의 모드가 동영상 촬영 모드인 경우, 전자 장치(100)는 현재 동영상 촬영 모드가 동영상 전용 화질 보정 모드로 동작 중인지 여부를 확인할 수 있다(612).
612동작의 확인결과 현재 동영상 촬영 모드가 동영상 전용 화질 보정 모드로 동작 중인 경우, 전자 장치(100)는 범용 프로세서(111)를 이용하여 흔들림 보정 제어 인스트럭션 그룹(130)에 기반하여 메모리(120)와 범용 프로세서(111) 간의 제2 가상 통신 인터페이스를 연결할 수 있다(614).
그리고, 전자 장치(100)는 저전력 프로세서(112)를 이용하여 흔들림 보정 제어 인스트럭션 그룹(130)에 기반하여 제2 가상 통신 인터페이스를 통해서 범용 프로세서(111)로부터 주변 조도에 따라서 흔들림 보정 강도를 설정하는 정보를 확보할 수 있다(616).
그리고, 전자 장치(100)는 저전력 프로세서(112)를 이용하여 흔들림 보정 제어 인스트럭션 그룹(130)에 기반하여 흔들림 보정 강도를 설정하는 정보를 적용한 흔들림 보정 강도를 확인 할 수 있다(618).
그리고, 전자 장치(100)는 저전력 프로세서(112)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(130)에 기반하여 저전력 프로세서(112)의 센서 인터페이스 회로부(113)를 통해서 모션 센서부(160)로부터 흔들림 보정용 모션 정보를 획득할 수 있다(620). 620동작에서 흔들림 보정용 모션 정보의 획득은 저전력 프로세서(112)에서 기설정된 주기(예를 들어, 1/6.6K sec) 마다 센서 인터페이스 회로부(113)를 통해서 모션 센서부(160)로부터 읽는(Read) 방식으로 획득할 수 있다.
그리고, 전자 장치(100)는 저전력 프로세서(112)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(130)에 기반하여 흔들림 보정 알고리즘을 실행하여 흔들림 보정용 모션 정보에 대응하는 흔들림 보정 결과를 생성할 수 있다(622).
그리고, 전자 장치(100)는 저전력 프로세서(112)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(130)에 기반하여 흔들림 보정 결과를 센서 인터페이스 회로부(113)를 통해서 흔들림 보정 결과를 카메라부(150)에 포함된 흔들림 보정 구동부(153)로 제공하여 흔들림 보정 구동부(153)로 하여금 카메라부(150)의 흔들림 보정을 수행할 수 있도록 할 수 있다(624).
624동작에서 흔들림 보정 알고리즘을 수행함에 있어서, 전자 장치(100)는 618동작에서 확인한 흔들림 보정 강도를 고려하여 흔들림 보정 알고리즘을 수행할 수 있다.
한편, 612동작의 확인결과 현재 동영상 촬영 모드가 동영상 전용 화질 보정 모드로 동작 중이지 않은 경우, 전자 장치(100)는 흔들림 보정 강도를 고려하지 않고, 620동작에서 624동작을 수행할 수 있다.
도 7은 본 개시의 일 실시 예에 따른 전자 장치에서 모션 센서부가 1채널인 경우 사진 촬영 모드 카메라의 광학식 흔들림 보정을 제어하는 구체적인 과정을 도시한 흐름도이다.
도 7을 참조하면, 전자 장치(200)는 카메라의 모드가 사진 촬영 모드인지 여부를 확인 할 수 있다(710).
710동작의 확인결과 현재 카메라의 모드가 사진 촬영 모드이면, 전자 장치(200)는 저전력 프로세서(212)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(230)에 기반하여 저전력 프로세서(212)의 센서 인터페이스 회로부(213)를 통해서 모션 센서부(260)로부터 모션 정보를 획득할 수 있다(720). 720동작에서 흔들림 보정용 모션 정보의 획득은 저전력 프로세서(212)에서 기설정된 주기(예를 들어, 1/6.6K sec) 마다 센서 인터페이스 회로부(213)를 통해서 모션 센서부(260)로부터 읽는(Read) 방식으로 획득할 수 있다.
720동작에서 모션 정보를 수신하는 경우, 전자 장치(200)는 저전력 프로세서(212)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(230)에 기반하여 다른 구성(사용자 인터페이스용 모션 센서 인스트럭션(240))으로 인한 모션 정보의 데이터 충돌이 발생하는 여부를 감지할 수 있다(722).
722동작의 확인결과 데이터의 충돌이 감지되는 경우, 전자 장치(200)는 저전력 프로세서(212)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(230)에 기반하여 우선순위에 따라서 모션 정보의 송신이 끝날 때까지 우선순위가 낮은 모션 정보의 획득을 보류하도록 제어할 수 있다(724).
722동작의 확인결과 데이터의 충돌이 감지되지 않는 경우, 전자 장치(200)는 저전력 프로세서(212)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(230)에 기반하여 모션 정보를 흔들림 보정에 이용되는 흔들림 보정용 모션 정보로 가공할 수 있다(726).
그리고, 전자 장치(200)는 저전력 프로세서(212)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(230)에 기반하여 흔들림 보정 알고리즘을 실행하여 흔들림 보정용 모션 정보에 대응하는 흔들림 보정 결과를 생성할 수 있다(728).
그리고, 전자 장치(200)는 저전력 프로세서(212)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(230)에 기반하여 흔들림 보정 결과를 센서 인터페이스 회로부(213)를 통해서 흔들림 보정 결과를 카메라부(250)에 포함된 흔들림 보정 구동부(253)로 제공하여 흔들림 보정 구동부(253)로 하여금 카메라부(250)의 흔들림 보정을 수행할 수 있도록 할 수 있다(730).
도 8은 본 개시의 일 실시 예에 따른 전자 장치에서 모션 센서부가 1채널인 경우 동영상 촬영 모드 카메라의 광학식 흔들림 보정을 제어하는 구체적인 과정을 도시한 흐름도이다.
도 8을 참조하면, 전자 장치(200)는 카메라의 모드가 동영상 촬영 모드인지 여부를 확인 할 수 있다(810).
810동작의 확인결과 현재 카메라의 모드가 동영상 촬영 모드인 경우, 전자 장치(200)는 현재 동영상 촬영 모드가 동영상 전용 화질 보정 모드로 동작 중인지 여부를 확인할 수 있다(812).
812동작의 확인결과 현재 동영상 촬영 모드가 동영상 전용 화질 보정 모드로 동작 중인 경우, 전자 장치(200)는 범용 프로세서(211)를 이용하여 흔들림 보정 제어 인스트럭션 그룹(230)에 기반하여 메모리(220)와 범용 프로세서(211) 간의 제2 가상 통신 인터페이스를 연결할 수 있다(814).
그리고, 전자 장치(200)는 저전력 프로세서(212)를 이용하여 흔들림 보정 제어 인스트럭션 그룹(230)에 기반하여 제2 가상 통신 인터페이스를 통해서 범용 프로세서(211)로부터 주변 조도에 따라서 흔들림 보정 강도를 설정하는 정보를 확보할 수 있다(816).
그리고, 전자 장치(200)는 저전력 프로세서(212)를 이용하여 흔들림 보정 제어 인스트럭션 그룹(230)에 기반하여 흔들림 보정 강도를 설정하는 정보를 적용한 흔들림 보정 강도를 확인 할 수 있다(818).
전자 장치(200)는 저전력 프로세서(212)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(230)에 기반하여 저전력 프로세서(212)의 센서 인터페이스 회로부(213)를 통해서 모션 센서부(260)로부터 모션 정보를 획득할 수 있다(820). 820동작에서 흔들림 보정용 모션 정보의 획득은 저전력 프로세서(212)에서 기설정된 주기(예를 들어, 1/6.6K sec) 마다 센서 인터페이스 회로부(213)를 통해서 모션 센서부(260)로부터 읽는(Read) 방식으로 획득할 수 있다.
820동작에서 모션 정보를 수신하는 경우, 전자 장치(200)는 저전력 프로세서(212)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(230)에 기반하여 다른 구성(사용자 인터페이스용 모션 센서 인스트럭션(240))으로 인한 모션 정보의 데이터 충돌이 발생하는 여부를 감지할 수 있다(822).
822동작의 확인결과 데이터의 충돌이 감지되는 경우, 전자 장치(200)는 저전력 프로세서(212)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(230)에 기반하여 우선순위에 따라서 모션 정보의 송신이 끝날 때까지 우선순위가 낮은 모션 정보의 획득을 보류하도록 제어할 수 있다(824).
822동작의 확인결과 데이터의 충돌이 감지되지 않는 경우, 전자 장치(200)는 저전력 프로세서(212)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(230)에 기반하여 모션 정보를 흔들림 보정에 이용되는 흔들림 보정용 모션 정보로 가공할 수 있다(826).
그리고, 전자 장치(200)는 저전력 프로세서(212)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(230)에 기반하여 흔들림 보정 알고리즘을 실행하여 흔들림 보정용 모션 정보에 대응하는 흔들림 보정 결과를 생성할 수 있다(828).
그리고, 전자 장치(200)는 저전력 프로세서(212)를 이용하여, 흔들림 보정 제어 인스트럭션 그룹(230)에 기반하여 흔들림 보정 결과를 센서 인터페이스 회로부(213)를 통해서 흔들림 보정 결과를 카메라부(250)에 포함된 흔들림 보정 구동부(253)로 제공하여 흔들림 보정 구동부(253)로 하여금 카메라부(250)의 흔들림 보정을 수행할 수 있도록 할 수 있다(830).
828동작에서 흔들림 보정 알고리즘을 수행함에 있어서, 전자 장치(200)는 818동작에서 확인한 흔들림 보정 강도를 고려하여 흔들림 보정 알고리즘을 수행할 수 있다.
한편, 812동작의 확인결과 현재 동영상 촬영 모드가 동영상 전용 화질 보정 모드로 동작 중이지 않는 경우, 전자 장치(200)는 흔들림 보정 강도를 고려하지 않고, 820동작에서 830동작을 수행할 수 있다.
한편, 도 1의 전자 장치(100)과 도 2의 전자 장치(200)는 다음의 도 9의 전자 장치의 형태로 구현될 수도 있다.
도 9는 본 개시의 일 실시예에 따른 네트워크 환경(900) 내의 전자 장치(901)의 블록도이다.
도 9를 참조하면, 네트워크 환경(900)에서 전자 장치(901)는 제1 네트워크(998)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(902)와 통신하거나, 또는 제2 네트워크(999)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(904) 또는 서버(908) 중 적어도 하나와 통신할 수 있다. 일실시예에 따르면, 전자 장치(901)는 서버(908)를 통하여 전자 장치(904)와 통신할 수 있다. 다른 실시예에 따르면, 전자 장치(901)는 프로세서(920), 메모리(930), 입력 모듈(950), 음향 출력 모듈(955), 디스플레이 모듈(960), 오디오 모듈(970), 센서 모듈(976), 인터페이스(977), 연결 단자(978), 햅틱 모듈(979), 카메라 모듈(980), 전력 관리 모듈(988), 배터리(989), 통신 모듈(990), 가입자 식별 모듈(996), 또는 안테나 모듈(997)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(901)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(978))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(976), 카메라 모듈(980), 또는 안테나 모듈(997))은 하나의 구성요소(예: 디스플레이 모듈(960))로 통합될 수 있다.
전자 장치(901)은 도 1의 전자 장치(100)와 도 2의 전자 장치(200)에 대응될 수 있다.
프로세서(920)는 도 1과 도 2의 모바일 프로세서(110, 210)에 대응할 수 있다.
프로세서(920)는, 예를 들면, 소프트웨어(예: 프로그램(940))를 실행하여 프로세서(920)에 연결된 전자 장치(901)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행한다. 다른 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(920)는 다른 구성요소(예: 센서 모듈(976) 또는 통신 모듈(990))로부터 수신된 명령 또는 데이터를 휘발성 메모리(932)에 저장하고, 휘발성 메모리(932)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(934)에 저장할 수 있다. 다른 실시예에 따르면, 프로세서(920)는 메인 프로세서(921)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(923)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(901)가 메인 프로세서(921) 및 보조 프로세서(923)를 포함하는 경우, 보조 프로세서(923)는 메인 프로세서(921)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정된다. 보조 프로세서(923)는 메인 프로세서(921)와 별개로, 또는 그 일부로서 구현될 수 있다.
메인 프로세서(921)는 도 1과 도 2의 범용 프로세서(111, 211)에 대응될 수 있고, 보조 프로세서(923)는 도 1과 도 2의 저전력 프로세서(112, 212)에 대응될 수 있다.
보조 프로세서(923)는, 예를 들면, 메인 프로세서(921)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(921)를 대신하여, 또는 메인 프로세서(921)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(921)와 함께, 전자 장치(901)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(960), 센서 모듈(976), 또는 통신 모듈(990))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 다른 실시예에 따르면, 보조 프로세서(923)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(980) 또는 통신 모듈(990))의 일부로서 구현될 수 있다. 다른 실시예에 따르면, 보조 프로세서(923)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(901) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(908))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(930)는, 전자 장치(901)의 적어도 하나의 구성요소(예: 프로세서(920) 또는 센서 모듈(976))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(940)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(930)는, 휘발성 메모리(932) 또는 비휘발성 메모리(934)를 포함할 수 있다. 메모리(930)는 도 1과 도 2의 메모리(120, 220)에 대응될 수 있다.
프로그램(940)은 메모리(930)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(942), 미들 웨어(944) 또는 어플리케이션(946)을 포함할 수 있다.
입력 모듈(950)은, 전자 장치(901)의 구성요소(예: 프로세서(920))에 사용될 명령 또는 데이터를 전자 장치(901)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(950)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(955)은 음향 신호를 전자 장치(901)의 외부로 출력할 수 있다. 음향 출력 모듈(955)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 다른 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(960)은 전자 장치(901)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(960)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 다른 실시예에 따르면, 디스플레이 모듈(960)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(970)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 다른 실시예에 따르면, 오디오 모듈(970)은, 입력 모듈(950)을 통해 소리를 획득하거나, 음향 출력 모듈(955), 또는 전자 장치(901)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(902))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(976)은 전자 장치(901)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 다른 실시예에 따르면, 센서 모듈(976)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. 센서 모듈(976)은 도 1과 도 2의 모션 센서부(160, 260)를 포함하여 구성될 수 있다.
인터페이스(977)는 전자 장치(901)가 외부 전자 장치(예: 전자 장치(902))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 다른 실시예에 따르면, 인터페이스(977)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(978)는, 그를 통해서 전자 장치(901)가 외부 전자 장치(예: 전자 장치(902))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 다른 실시예에 따르면, 연결 단자(978)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(979)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 다른 실시예에 따르면, 햅틱 모듈(979)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(980)은 정지 영상 및 동영상을 촬영할 수 있다. 다른 실시예에 따르면, 카메라 모듈(980)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다. 카메라 모듈(980)은 도 1과 도 2의 카메라부(150, 250)를 포함하여 구성될 수 있다.
전력 관리 모듈(988)은 전자 장치(901)에 공급되는 전력을 관리할 수 있다. 다른 실시예에 따르면, 전력 관리 모듈(988)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(989)는 전자 장치(901)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 다른 실시예에 따르면, 배터리(989)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(990)은 전자 장치(901)와 외부 전자 장치(예: 전자 장치(902), 전자 장치(904), 또는 서버(908)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(990)은 프로세서(920)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 다른 실시예에 따르면, 통신 모듈(990)은 무선 통신 모듈(992)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(994)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(998)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제2 네트워크(999)(예: 레거시 셀룰러 네트워크, 5G(fifth generation) 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(904)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(992)은 가입자 식별 모듈(996)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크(998) 또는 제2 네트워크(999)와 같은 통신 네트워크 내에서 전자 장치(901)를 확인 또는 인증할 수 있다.
무선 통신 모듈(992)은 4G(fourth generation) 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(992)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave(millimeter wave) 대역)을 지원할 수 있다. 무선 통신 모듈(992)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(992)은 전자 장치(901), 외부 전자 장치(예: 전자 장치(904)) 또는 네트워크 시스템(예: 제2 네트워크(999))에 규정되는 다양한 요구사항을 지원할 수 있다. 다른 실시예에 따르면, 무선 통신 모듈(992)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(997)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 다른 실시예에 따르면, 안테나 모듈(997)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 다른 실시예에 따르면, 안테나 모듈(997)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제1 네트워크(998) 또는 제2 네트워크(999)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(990)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(990)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(997)의 일부로 형성될 수 있다.
다른 실시예에 따르면, 안테나 모듈(997)은 mmWave 안테나 모듈을 형성할 수 있다. 다른 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
다른 실시예에 따르면, 명령 또는 데이터는 제2 네트워크(999)에 연결된 서버(908)를 통해서 전자 장치(901)와 외부의 전자 장치(904)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(902, 또는 904) 각각은 전자 장치(901)와 동일한 또는 다른 종류의 장치일 수 있다. 다른 실시예에 따르면, 전자 장치(901)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(902, 904, 또는 908) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(901)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(901)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(901)로 전달할 수 있다. 전자 장치(901)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(901)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(904)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(908)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 다른 실시예에 따르면, 외부의 전자 장치(904) 또는 서버(908)는 제2 네트워크(999) 내에 포함될 수 있다. 전자 장치(901)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM(compact disc read only memory), DVDs(digital versatile discs)와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 방법은, 흔들림 방지 시작 이벤트가 발생하면, 범용 프로세서를 이용하여 흔들림 보정 제어 인스트럭션 그룹을 메모리에 저장하는 동작; 저전력 프로세서를 이용하여 상기 흔들림 보정 제어 인스트력션 그룹에 포함된 폴링 타이머 인스트럭션을 실행하여 기설정된 주기로 흔들림 보정이 수행될 수 있도록 폴링 타이머를 구동하는 동작; 및 상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 카메라부의 흔들림을 보정하는 동작을 포함할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 방법은, 상기 카메라부의 흔들림을 보정한 후에 흔들림 방지 종료 이벤트가 발생하지 않으면, 상기 저전력 프로세서를 이용하여 상기 폴링 타이머의 상기 기설정된 주기가 만료되었는지 여부를 확인하는 동작; 상기 폴링 타이머의 상기 기설정된 주기가 만료되었으면, 상기 저전력 프로세서를 이용하여 상기 카메라부의 흔들림을 보정하는 동작을 반복하는 동작; 및 상기 폴링 타이머의 상기 기설정된 주기가 만료되지 않았으면, 상기 저전력 프로세서를 이용하여 상기 폴링 타이머의 상기 기설정된 주기가 만료될 때까지 기설정된 시간 간격으로 대기하는 동작을 더 포함할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 방법은, 흔들림 방지 종료 이벤트가 발생하면, 상기 범용 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹을 상기 메모리에서 삭제하는 동작을 더 포함할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 방법은, 상기 폴링 타이머를 구동하는 동작 이전에, 상기 범용 프로세서를 이용하여 흔들림 보정 조정값을 확보하기 위해서 상기 메모리와 상기 범용 프로세서 간의 제1 가상 통신 인터페이스를 연결하는 동작; 상기 범용 프로세서를 이용하여 상기 카메라부에 저장된 상기 흔들림 보정 조정값을 수신하고, 상기 제1 가상 통신 인터페이스를 통해서 상기 메모리에 저장하는 동작; 및 상기 저전력 프로세서를 이용하여 상기 흔들림 보정 조정값을 기반으로 상기 흔들림 보정 제어 인스트럭션 그룹을 초기화 설정하는 동작을 더 포함할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 방법에서, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 카메라부의 흔들림을 보정하는 동작은, 상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 저전력 프로세서의 센서 인터페이스 회로부를 통해서 모션 센서부로부터 흔들림 보정용 모션 정보를 획득하는 동작; 상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 흔들림 보정 알고리즘을 실행하여 상기 흔들림 보정용 모션 정보에 대응하는 흔들림 보정 결과를 생성하는 동작; 및 상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 센서 인터페이스 회로부를 통해서 상기 흔들림 보정 결과를 카메라부에 포함된 흔들림 보정 구동부로 제공하는 동작을 포함할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 방법에서, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 카메라부의 흔들림을 보정하는 동작은, 동영상 촬영 모드에서 동영상 전용 화질 보정 모드가 실행되면, 상기 범용 프로세서를 이용하여 주변 조도에 따라서 흔들림 보정 강도를 설정하는 정보를 확보하기 위해서 상기 메모리와 상기 범용 프로세서 간의 제2가상 통신 인터페이스를 연결하는 동작; 상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 제2 가상 통신 인터페이스를 통해서 상기 범용 프로세서로부터 상기 흔들림 보정 강도를 설정하는 정보를 확보하는 동작; 상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 흔들림 보정 강도를 설정하는 정보를 적용한 상기 흔들림 보정 강도를 확인하는 동작;을 더 포함하고, 상기 흔들림 보정 결과를 생성하는 동작은, 상기 흔들림 보정 강도를 고려해서 상기 흔들림 보정 결과를 생성할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 방법은, 상기 폴링 타이머를 구동하는 동작 이전에, 상기 범용 프로세서를 이용하여 흔들림 보정 조정값을 확보하기 위해서 상기 메모리와 상기 범용 프로세서 간의 제1 가상 통신 인터페이스를 연결하는 동작; 상기 범용 프로세서를 이용하여 상기 카메라부에 저장된 상기 흔들림 보정 조정값을 수신하고, 상기 제1 가상 통신 인터페이스를 통해서 상기 메모리에 저장하는 동작; 상기 범용 프로세서를 이용하여 모션 센서부가 센싱하는 모션 정보를 흔들림 보정에 이용되는 흔들림 보정용 모션 정보로 변환하는데 필요한 흔들림 보정용 모션 속성 설정 정보를 수신하는 동작; 및 상기 저전력 프로세서를 이용하여 상기 흔들림 보정 조정값과 상기 흔들림 보정용 모션 속성 설정 정보를 기반으로 상기 흔들림 보정 제어 인스트럭션 그룹을 초기화 설정하는 동작을 더 포함할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 방법에서, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 카메라부의 흔들림을 보정하는 동작은, 상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 저전력 프로세서의 센서 인터페이스 회로부를 통해서 모션 센서부로부터 모션 정보를 획득하는 동작; 상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 모션 정보를 흔들림 보정에 이용되는 흔들림 보정용 모션 정보로 가공하는 동작; 상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 흔들림 보정 알고리즘을 실행하여 상기 흔들림 보정용 모션 정보에 대응하는 흔들림 보정 결과를 생성하는 동작; 및 상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 센서 인터페이스 회로부를 통해서 상기 흔들림 보정 결과를 상기 카메라부에 포함된 흔들림 보정 구동부로 제공하는 동작을 포함할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 방법에서, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 카메라부의 흔들림을 보정하는 동작은, 상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 모션 정보를 획득하는 동작에서 데이터의 충돌을 감지하면, 우선순위에 따라서 모션 정보의 송신이 끝날 때까지 우선순위가 낮은 모션 정보의 획득을 보류하도록 제어하는 동작을 더 포함할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 장치는 흔들림 보정 결과에 따라 흔들림을 보정하는 흔들림 보정 구동부를 포함하는 카메라부; 모션을 센싱하고, 사용자 인터페이스용 모션 정보와 흔들림 보정용 모션 정보를 출력하는 모션 센서; 메모리; 및 범용 프로세서와 저전력 프로세서를 포함하는 모바일 프로세서를 포함하고, 상기 범용 프로세서는 흔들림 방지 시작 이벤트가 발생하면 흔들림 보정 제어 인스트럭션 그룹을 상기 메모리에 저장하고, 상기 저전력 프로세서는 상기 메모리에 저장된 상기 흔들림 보정 제어 인스트럭션 그룹에 포함된 인스트럭션을 실행하여 기설정된 주기로 흔들림 보정이 수행될 수 있도록 폴링 타이머를 구동하고, 상기 흔들림 보정용 모션 정보를 확보하고, 상기 흔들림 보정용 모션 정보에 따른 상기 흔들림 보정 결과를 생성하고, 상기 흔들림 보정 결과를 상기 흔들림 보정 구동부로 제공할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 장치에서 상기 흔들림 보정 제어 인스트럭션 그룹은, 상기 저전력 프로세서를 이용하여 상기 저전력 프로세서의 센서 인터페이스 회로부를 통해서 상기 모션 센서부에서 상기 흔들림 보정용 모션 정보를 획득하기 위한 흔들림 보정용 모션 센서 제어 인스트럭션을 포함하고, 상기 저전력 프로세서는 상기 흔들림 보정용 모션 센서 제어 인스트럭션에 적어도 기반하여, 상기 모션 센서부에서 상기 흔들림 보정용 모션 정보를 획득할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 장치에서 상기 흔들림 보정 제어 인스트럭션 그룹은 상기 기설정된 주기로 흔들림 보정이 수행될 수 있도록 하는 상기 폴링 타이머를 상기 저전력 프로세서를 이용하여 구동하기 위한 폴링 타이머 인스트럭션을 포함하고, 상기 저전력 프로세서는 흔들림을 보정한 후에 흔들림 방지 종료 이벤트가 발생하지 않으면, 상기 폴링 타이머 인스트럭션에 적어도 기반하여, 상기 폴링 타이머의 상기 기설정된 주기가 만료되었는지 여부를 확인하고, 상기 기설정된 주기가 만료되었으면, 상기 폴링 타이머의 상기 기설정된 주기를 다시 시작하고, 상기 기설정된 주기가 만료되지 않았으면, 상기 폴링 타이머의 상기 기설정된 주기가 만료될 때까지 기설정된 시간 간격으로 대기하기 하도록 할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 장치에서 상기 흔들림 보정 제어 인스트럭션 그룹은 상기 범용 프로세서를 이용하여 상기 메모리와 상기 범용 프로세서 사이에 제1 가상 통신 인터페이스를 연결하기 위한 통신 인터페이스 제어 인스트럭션; 및 상기 범용 프로세서를 이용하여 상기 제1 가상 통신 인터페이스를 통해서 상기 카메라부에 저장된 상기 흔들림 보정 조정값을 수신하고, 상기 저전력 프로세서를 이용하여 상기 흔들림 보정 조정값을 기반으로 흔들림 보정을 초기화 설정하고, 상기 저전력 프로세서를 이용하여 흔들림 보정 알고리즘을 실행하여 상기 흔들림 보정용 모션 정보에 대응하는 상기 흔들림 보정 결과를 생성하고, 상기 저전력 프로세서를 이용하여 상기 센서 인터페이스 회로부를 통해서 상기 흔들림 보정 결과를 상기 흔들림 보정 구동부로 제공하기 위한 흔들림 보정 구동 제어 인스트럭션을 포함하고, 상기 범용 프로세서는 동영상 촬영 모드에서 동영상 전용 화질 보정 모드가 실행되면, 상기 통신 인터페이스 제어 인스트럭션에 적어도 기반하여, 주변 조도에 따라서 흔들림 보정 강도를 설정하는 정보를 확보하기 위해서 상기 메모리와 상기 범용 프로세서 간의 제2 가상 통신 인터페이스를 연결하고, 상기 흔들림 보정 강도를 설정하는 정보를 이용하여 상기 흔들림 보정 강도를 확인하고, 상기 흔들림 보정 강도를 상기 흔들림 보정 구동 제어 인스트럭션을 실행하는 상기 저전력 프로세서로 제공하도록 하고, 상기 저전력 프로세서는 상기 흔들림 보정 구동 제어 인스트럭션에 적어도 기반하여, 상기 흔들림 보정 결과를 생성할 때, 상기 흔들림 보정 강도를 고려할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 장치에서 상기 범용 프로세서는 흔들림 방지 종료 이벤트가 발생하면, 상기 흔들림 보정 제어 인스트럭션 그룹을 상기 메모리에서 삭제할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 장치에서 상기 모션 센서부는 상기 사용자 인터페이스용 모션 정보와 상기 흔들림 보정용 모션 정보를 각기 다른 통신 채널을 통해서 출력할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 장치는 흔들림 보정 결과에 따라 흔들림을 보정하는 흔들림 보정 구동부를 포함하는 카메라부; 모션을 센싱하고, 모션 정보를 출력하는 모션 센서; 메모리; 및 범용 프로세서와 저전력 프로세서를 포함하는 모바일 프로세서를 포함하고, 상기 범용 프로세서는 흔들림 방지 시작 이벤트가 발생하면 흔들림 보정 제어 인스트럭션 그룹을 상기 메모리에 저장하고, 상기 저전력 프로세서는 상기 메모리에 저장된 상기 흔들림 보정 제어 인스트럭션 그룹에 포함된 인스트럭션을 실행하여 기설정된 주기로 흔들림 보정이 수행될 수 있도록 폴링 타이머를 구동하고, 상기 모션 정보를 확보하고, 상기 모션 정보에 따른 상기 흔들림 보정 결과를 생성하고, 상기 흔들림 보정 결과를 상기 흔들림 보정 구동부로 제공할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 장치에서 상기 흔들림 보정 제어 인스트럭션 그룹은 상기 저전력 프로세서를 이용하여 상기 범용 프로세서로부터 상기 모션 정보를 흔들림 보정에 이용되는 흔들림 보정용 모션 정보로 변환하는데 필요한 흔들림 보정용 모션 속성 설정 정보를 수신하고, 상기 흔들림 보정용 모션 속성 설정 정보를 이용하여 상기 모션 정보를 상기 흔들림 보정용 모션 정보로 가공하도록 하는 흔들림 보정 센서 데이터 가공 인스트럭션을 포함하고, 상기 저전력 프로세서는 상기 흔들림 보정 센서 데이터 가공 인스트럭션을 적어도 기반하여, 상기 범용 프로세서로부터 상기 흔들림 보정용 모션 속성 설정 정보를 수신하고, 상기 흔들림 보정용 모션 속성 설정 정보를 이용하여 상기 모션 정보를 상기 흔들림 보정용 모션 정보로 가공하고, 상기 흔들림 보정용 모션 정보에 따른 상기 흔들림 보정 결과를 생성할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 장치에서 상기 흔들림 보정 제어 인스트럭션 그룹은 상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 모션 정보를 획득할 때, 데이터의 충돌을 감지하면, 우선순위에 따라서 모션 정보의 송신이 끝날 때까지 우선순위가 낮은 모션 정보의 획득을 보류하도록 제어하기 위한 센서 입출력 데이터 제어 인스트럭션을 포함하고, 상기 저전력 프로세서는 상기 모션 정보를 획득할 때, 데이터의 충돌을 감지하면, 상기 센서 입출력 데이터 제어 인스트럭션에 기반하여 우선순위에 따라서 모션 정보의 송신이 끝날 때까지 우선순위가 낮은 모션 정보의 획득을 보류할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 장치에서 상기 흔들림 보정 제어 인스트럭션 그룹은 상기 범용 프로세서를 이용하여 상기 메모리와 상기 범용 프로세서 사이에 제1 가상 통신 인터페이스를 연결하기 위한 통신 인터페이스 제어 인스트럭션; 및 상기 범용 프로세서를 이용하여 상기 제1 가상 통신 인터페이스를 통해서 상기 카메라부에 저장된 상기 흔들림 보정 조정값을 수신하고, 상기 저전력 프로세서를 이용하여 상기 흔들림 보정 조정값을 기반으로 흔들림 보정을 초기화 설정하고, 상기 저전력 프로세서를 이용하여 흔들림 보정 알고리즘을 실행하여 상기 모션 정보에 대응하는 상기 흔들림 보정 결과를 생성하고, 상기 저전력 프로세서를 이용하여 상기 센서 인터페이스 회로부를 통해서 상기 흔들림 보정 결과를 상기 흔들림 보정 구동부로 제공하기 위한 흔들림 보정 구동 제어 인스트럭션을 포함하고, 상기 범용 프로세서는 동영상 촬영 모드에서 동영상 전용 화질 보정 모드가 실행되면, 상기 통신 인터페이스 제어 인스트럭션에 적어도 기반하여, 주변 조도에 따라서 흔들림 보정 강도를 설정하는 정보를 확보하기 위해서 상기 메모리와 상기 범용 프로세서 간의 제2 가상 통신 인터페이스를 연결하고, 상기 흔들림 보정 강도를 설정하는 정보를 이용하여 상기 흔들림 보정 강도를 확인하고, 상기 흔들림 보정 강도를 상기 흔들림 보정 구동 제어 인스트력션을 실행하는 상기 저전력 프로세서로 제공하도록 하고, 상기 저전력 프로세서는 상기 흔들림 보정 구동 제어 인스트럭션에 기반하여, 상기 흔들림 보정 결과를 생성할 때, 상기 흔들림 보정 강도를 고려할 수 있다.
다른 실시 예에 따른 광학식 이미지 흔들림 보정 장치에서 상기 모션 센서부는 상기 모션 정보를 하나의 통신 채널을 통해서 출력할 수 있다.
개시는 다양한 실시예들을 참조하여 설명되고 제시되었지만, 기술분야에서 통상의 지식을 가진 자는 첨부된 청구범위 및 이의 균등범위들에 의하여 정해진 개시의 기술사상 및 범위로부터 벗어나지 않고 형태 및 상세에 있어서 다양한 변경이 될 수 있다는 것을 이해할 것이다.

Claims (15)

  1. 흔들림 방지 시작 이벤트가 발생하는 경우, 범용 프로세서를 이용하여 흔들림 보정 제어 인스트럭션 그룹을 메모리에 저장하는 동작;
    저전력 프로세서를 이용하여 상기 흔들림 보정 제어 인스트력션 그룹에 포함된 폴링 타이머 인스트럭션을 실행하여 기설정된 주기로 흔들림 보정이 수행될 수 있도록 폴링 타이머를 구동하는 동작; 및
    상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 카메라의 흔들림을 보정하는 동작
    을 포함하는 광학식 이미지 흔들림 보정 방법.
  2. 제1항에 있어서,
    상기 카메라의 흔들림을 보정한 후에 흔들림 방지 종료 이벤트가 발생하지 않는 경우, 상기 저전력 프로세서를 이용하여 상기 폴링 타이머의 상기 기설정된 주기가 만료되었는지 여부를 확인하는 동작;
    상기 폴링 타이머의 상기 기설정된 주기가 만료된 경우, 상기 저전력 프로세서를 이용하여 상기 카메라부의 흔들림을 보정하는 동작을 반복하는 동작; 및
    상기 폴링 타이머의 상기 기설정된 주기가 만료되지 않은 경우, 상기 저전력 프로세서를 이용하여 상기 폴링 타이머의 상기 기설정된 주기가 만료될 때까지 기설정된 시간 간격으로 대기하는 동작
    을 더 포함하는 광학식 이미지 흔들림 보정 방법.
  3. 제1항에 있어서,
    흔들림 방지 종료 이벤트가 발생하는 경우, 상기 범용 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹을 상기 메모리에서 삭제하는 동작
    을 더 포함하는 광학식 이미지 흔들림 보정 방법.
  4. 제1항에 있어서,
    상기 폴링 타이머를 구동하는 동작 이전에,
    상기 범용 프로세서를 이용하여 흔들림 보정 조정값을 확보하기 위해서 상기 메모리와 상기 범용 프로세서 간의 제1 가상 통신 인터페이스를 연결하는 동작;
    상기 범용 프로세서를 이용하여 상기 카메라에 저장된 상기 흔들림 보정 조정값을 수신하고, 상기 제1 가상 통신 인터페이스를 통해서 상기 메모리에 저장하는 동작; 및
    상기 저전력 프로세서를 이용하여 상기 흔들림 보정 조정값을 기반으로 상기 흔들림 보정 제어 인스트럭션 그룹을 초기화 설정하는 동작
    을 더 포함하는 광학식 이미지 흔들림 보정 방법.
  5. 제1항에 있어서,
    상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 카메라의 흔들림을 보정하는 동작은,
    상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 저전력 프로세서의 센서 인터페이스 회로를 통해서 모션 센서로부터 흔들림 보정용 모션 정보를 획득하는 동작;
    상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 흔들림 보정 알고리즘을 실행하여 상기 흔들림 보정용 모션 정보에 대응하는 흔들림 보정 결과를 생성하는 동작; 및
    상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 센서 인터페이스 회로를 통해서 상기 흔들림 보정 결과를 카메라에 포함된 흔들림 보정 구동부로 제공하는 동작
    을 포함하는 광학식 이미지 흔들림 보정 방법.
  6. 제5항에 있어서,
    상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 카메라의 흔들림을 보정하는 동작은,
    동영상 촬영 모드에서 동영상 전용 화질 보정 모드가 실행된 경우, 상기 범용 프로세서를 이용하여 주변 조도에 따라서 흔들림 보정 강도를 설정하는 정보를 확보하기 위해서 상기 메모리와 상기 범용 프로세서 간의 제2가상 통신 인터페이스를 연결하는 동작;
    상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 제2 가상 통신 인터페이스를 통해서 상기 범용 프로세서로부터 상기 흔들림 보정 강도를 설정하는 정보를 확보하는 동작;
    상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 흔들림 보정 강도를 설정하는 정보를 적용한 상기 흔들림 보정 강도를 확인하는 동작;
    을 더 포함하고,
    상기 흔들림 보정 결과를 생성하는 동작은,
    상기 흔들림 보정 강도를 고려해서 상기 흔들림 보정 결과를 생성하는 동작을
    포함하는 광학식 이미지 흔들림 보정 방법.
  7. 제1항에 있어서,
    상기 폴링 타이머를 구동하는 동작 이전에,
    상기 범용 프로세서를 이용하여 흔들림 보정 조정값을 확보하기 위해서 상기 메모리와 상기 범용 프로세서 간의 제1 가상 통신 인터페이스를 연결하는 동작;
    상기 범용 프로세서를 이용하여 상기 카메라에 저장된 상기 흔들림 보정 조정값을 수신하고, 상기 제1 가상 통신 인터페이스를 통해서 상기 메모리에 저장하는 동작;
    상기 범용 프로세서를 이용하여 모션 센서가 센싱하는 모션 정보를 흔들림 보정에 이용되는 흔들림 보정용 모션 정보로 변환하는데 필요한 흔들림 보정용 모션 속성 설정 정보를 수신하는 동작; 및
    상기 저전력 프로세서를 이용하여 상기 흔들림 보정 조정값과 상기 흔들림 보정용 모션 속성 설정 정보를 기반으로 상기 흔들림 보정 제어 인스트럭션 그룹을 초기화 설정하는 동작
    을 더 포함하는 광학식 이미지 흔들림 보정 방법.
  8. 제1항에 있어서,
    상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 카메라의 흔들림을 보정하는 동작은,
    상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 저전력 프로세서의 센서 인터페이스 회로를 통해서 모션 센서부로부터 모션 정보를 획득하는 동작;
    상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 모션 정보를 흔들림 보정에 이용되는 흔들림 보정용 모션 정보로 가공하는 동작;
    상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 흔들림 보정 알고리즘을 실행하여 상기 흔들림 보정용 모션 정보에 대응하는 흔들림 보정 결과를 생성하는 동작; 및
    상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 센서 인터페이스 회로를 통해서 상기 흔들림 보정 결과를 상기 카메라에 포함된 흔들림 보정 구동부로 제공하는 동작
    을 포함하는 광학식 이미지 흔들림 보정 방법.
  9. 제8항에 있어서,
    상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 카메라의 흔들림을 보정하는 동작은,
    상기 저전력 프로세서를 이용하여, 상기 흔들림 보정 제어 인스트럭션 그룹에 기반하여 상기 모션 정보를 획득하는 동작에서 데이터의 충돌을 감지하는 경우, 우선순위에 따라서 모션 정보의 송신이 끝날 때까지 우선순위가 낮은 모션 정보의 획득을 보류하도록 제어하는 동작
    을 더 포함하는 광학식 이미지 흔들림 보정 방법.
  10. 흔들림 보정 결과에 따라 흔들림을 보정하는 흔들림 보정 구동부를 포함하는 카메라;
    모션을 센싱하고, 사용자 인터페이스용 모션 정보와 흔들림 보정용 모션 정보를 출력하는 모션 센서;
    메모리; 및
    범용 프로세서와 저전력 프로세서를 포함하는 모바일 프로세서
    를 포함하고,
    상기 범용 프로세서는,
    흔들림 방지 시작 이벤트가 발생하는 경우 흔들림 보정 제어 인스트럭션 그룹을 상기 메모리에 저장하고,
    상기 저전력 프로세서는,
    상기 메모리에 저장된 상기 흔들림 보정 제어 인스트럭션 그룹에 포함된 인스트럭션을 실행하여 기설정된 주기로 흔들림 보정이 수행될 수 있도록 폴링 타이머를 구동하고, 상기 흔들림 보정용 모션 정보를 확보하고, 상기 흔들림 보정용 모션 정보에 따른 상기 흔들림 보정 결과를 생성하고, 상기 흔들림 보정 결과를 상기 흔들림 보정 구동부로 제공하는
    광학식 이미지 흔들림 보정 장치.
  11. 제10항에 있어서,
    상기 흔들림 보정 제어 인스트럭션 그룹은,
    상기 저전력 프로세서를 이용하여 상기 저전력 프로세서의 센서 인터페이스 회로를 통해서 상기 모션 센서에서 상기 흔들림 보정용 모션 정보를 획득하기 위한 흔들림 보정용 모션 센서 제어 인스트럭션
    을 포함하고,
    상기 저전력 프로세서는,
    상기 흔들림 보정용 모션 센서 제어 인스트럭션에 적어도 기반하여, 상기 모션 센서에서 상기 흔들림 보정용 모션 정보를 획득하는
    광학식 이미지 흔들림 보정 장치.
  12. 제10항에 있어서,
    상기 흔들림 보정 제어 인스트럭션 그룹은,
    상기 기설정된 주기로 흔들림 보정이 수행될 수 있도록 하는 상기 폴링 타이머를 상기 저전력 프로세서를 이용하여 구동하기 위한 폴링 타이머 인스트럭션
    을 포함하고,
    상기 저전력 프로세서는,
    흔들림을 보정한 후에 흔들림 방지 종료 이벤트가 발생하지 않는 경우, 상기 폴링 타이머 인스트럭션에 적어도 기반하여, 상기 폴링 타이머의 상기 기설정된 주기가 만료되었는지 여부를 확인하고,
    상기 기설정된 주기가 만료된 경우, 상기 폴링 타이머의 상기 기설정된 주기를 다시 시작하고,
    상기 기설정된 주기가 만료되지 않은 경우, 상기 폴링 타이머의 상기 기설정된 주기가 만료될 때까지 기설정된 시간 간격으로 대기하기 하도록 하는
    광학식 이미지 흔들림 보정 장치.
  13. 제10항에 있어서,
    상기 흔들림 보정 제어 인스트럭션 그룹은,
    상기 범용 프로세서를 이용하여 상기 메모리와 상기 범용 프로세서 사이에 제1 가상 통신 인터페이스를 연결하기 위한 통신 인터페이스 제어 인스트럭션; 및
    상기 범용 프로세서를 이용하여 상기 제1 가상 통신 인터페이스를 통해서 상기 카메라에 저장된 흔들림 보정 조정값을 수신하고, 상기 저전력 프로세서를 이용하여 상기 흔들림 보정 조정값을 기반으로 흔들림 보정을 초기화 설정하고, 상기 저전력 프로세서를 이용하여 흔들림 보정 알고리즘을 실행하여 상기 흔들림 보정용 모션 정보에 대응하는 상기 흔들림 보정 결과를 생성하고, 상기 저전력 프로세서를 이용하여 센서 인터페이스 회로를 통해서 상기 흔들림 보정 결과를 상기 흔들림 보정 구동부로 제공하기 위한 흔들림 보정 구동 제어 인스트럭션
    을 포함하고,
    상기 범용 프로세서는,
    동영상 촬영 모드에서 동영상 전용 화질 보정 모드가 실행된 경우, 상기 통신 인터페이스 제어 인스트럭션에 적어도 기반하여, 주변 조도에 따라서 흔들림 보정 강도를 설정하는 정보를 확보하기 위해서 상기 메모리와 상기 범용 프로세서 간의 제2 가상 통신 인터페이스를 연결하고, 상기 흔들림 보정 강도를 설정하는 정보를 이용하여 상기 흔들림 보정 강도를 확인하고, 상기 흔들림 보정 강도를 상기 흔들림 보정 구동 제어 인스트럭션을 실행하는 상기 저전력 프로세서로 제공하도록 하고,
    상기 저전력 프로세서는,
    상기 흔들림 보정 구동 제어 인스트럭션에 적어도 기반하여, 상기 흔들림 보정 결과를 생성하는 경우, 상기 흔들림 보정 강도를 고려하는
    광학식 이미지 흔들림 보정 장치.
  14. 제10항에 있어서,
    상기 범용 프로세서는,
    흔들림 방지 종료 이벤트가 발생하는 경우, 상기 흔들림 보정 제어 인스트럭션 그룹을 상기 메모리에서 삭제하는
    광학식 이미지 흔들림 보정 장치.
  15. 제10항에 있어서,
    상기 모션 센서부는,
    상기 사용자 인터페이스용 모션 정보와 상기 흔들림 보정용 모션 정보를 각기 다른 통신 채널을 통해서 출력하는
    광학식 이미지 흔들림 보정 장치.
PCT/KR2023/002205 2022-05-20 2023-02-15 저전력 프로세서를 이용하여 카메라의 광학식 흔들림 보정을 제어하는 장치 및 방법 WO2023224216A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/187,315 US20230379580A1 (en) 2022-05-20 2023-03-21 Apparatus and method for controlling optical image stabilization (ois) using low-power processor

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20220062188 2022-05-20
KR10-2022-0062188 2022-05-20
KR10-2022-0088518 2022-07-18
KR1020220088518A KR20230162498A (ko) 2022-05-20 2022-07-18 저전력 프로세서를 이용하여 카메라의 광학식 흔들림 보정을 제어하는 장치 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/187,315 Continuation US20230379580A1 (en) 2022-05-20 2023-03-21 Apparatus and method for controlling optical image stabilization (ois) using low-power processor

Publications (1)

Publication Number Publication Date
WO2023224216A1 true WO2023224216A1 (ko) 2023-11-23

Family

ID=88835476

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/002205 WO2023224216A1 (ko) 2022-05-20 2023-02-15 저전력 프로세서를 이용하여 카메라의 광학식 흔들림 보정을 제어하는 장치 및 방법

Country Status (1)

Country Link
WO (1) WO2023224216A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100705929B1 (ko) * 2005-09-28 2007-04-12 엘지전자 주식회사 휴대 단말기에서의 흔들림 움직임 보정장치
US20140168454A1 (en) * 2012-12-19 2014-06-19 Asia Optical International Ltd. Image Capture Device and Anti-shake Control Method Thereof
KR101889702B1 (ko) * 2012-02-22 2018-08-21 삼성전자주식회사 손떨림 보정 방법, 기계로 읽을 수 있는 저장 매체 및 촬상 장치
KR101983179B1 (ko) * 2014-12-10 2019-08-28 삼성전기주식회사 손떨림 보정 장치 및 손떨림 보정 장치의 소비 전력 최소화 방법
KR20210024053A (ko) * 2018-08-22 2021-03-04 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 야경 촬영 방법, 장치, 전자설비, 및 저장 매체

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100705929B1 (ko) * 2005-09-28 2007-04-12 엘지전자 주식회사 휴대 단말기에서의 흔들림 움직임 보정장치
KR101889702B1 (ko) * 2012-02-22 2018-08-21 삼성전자주식회사 손떨림 보정 방법, 기계로 읽을 수 있는 저장 매체 및 촬상 장치
US20140168454A1 (en) * 2012-12-19 2014-06-19 Asia Optical International Ltd. Image Capture Device and Anti-shake Control Method Thereof
KR101983179B1 (ko) * 2014-12-10 2019-08-28 삼성전기주식회사 손떨림 보정 장치 및 손떨림 보정 장치의 소비 전력 최소화 방법
KR20210024053A (ko) * 2018-08-22 2021-03-04 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 야경 촬영 방법, 장치, 전자설비, 및 저장 매체

Similar Documents

Publication Publication Date Title
WO2020166911A1 (en) Screen providing method and electronic device supporting same
WO2022031029A1 (ko) 전자 장치 및 전자 장치가 외부 장치 디스플레이 상에 어플리케이션 화면을 제공하는 방법
WO2022025606A1 (en) Electronic device and method for controlling audio volume thereof
WO2022139238A1 (ko) 이미지를 제공하는 방법 및 이를 지원하는 전자 장치
WO2023224216A1 (ko) 저전력 프로세서를 이용하여 카메라의 광학식 흔들림 보정을 제어하는 장치 및 방법
WO2022145914A1 (ko) 전력 공급 장치를 이용하여 오디오 출력 장치를 찾는 방법 및 그 전력 공급 장치
WO2022119194A1 (ko) 전자 장치 및 이를 이용한 멀티 채널 오디오 출력 방법
WO2021162267A1 (en) Apparatus and method for converting audio output
WO2021256709A1 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2021210816A1 (ko) 거리 측정과 관련된 전력 소모를 줄이기 위한 전자 장치 및 그의 동작 방법
WO2020235843A1 (en) Apparatus for detecting feedback on voltage supplied from electronic device to external device
WO2022211267A1 (ko) 데이터 처리 시스템 및 데이터 처리 장치의 동작 방법
WO2022203211A1 (ko) 카메라 모듈을 포함하는 전자 장치 및 그 전자 장치의 동작 방법
WO2024117501A1 (ko) 송신 전력을 제어하기 위한 전자 장치 및 전자 장치의 동작 방법
WO2023090722A1 (ko) 응답 패킷 송신 장치 및 방법
WO2023080447A1 (ko) 복수의 링크를 통한 데이터 전송 및 수신의 스케쥴링을 수행하는 전자 장치 및 전자 장치의 동작 방법
WO2023038252A1 (ko) 동영상을 촬영하는 전자 장치 및 그 동작 방법
WO2023014120A1 (ko) 오디오 신호 처리 방법 및 이를 지원하는 전자 장치
WO2024034810A1 (ko) 다중 윈도우들을 위한 입력을 처리하는 전자 장치
WO2024085642A1 (ko) 디스플레이를 포함하는 전자 장치 및 이의 동작 방법
WO2024071930A1 (ko) 이미지를 적응적으로 저장하는 디스플레이 구동 회로를 포함하는 전자 장치
WO2022191386A1 (ko) 오디오 입력을 위한 전자 장치 및 그 동작 방법
WO2024029797A1 (ko) 전자 장치 및 상기 전자 장치에서 이미지 파일의 촬영 날짜 및 시간을 관리하는 방법
WO2024034838A1 (ko) 복수의 디스플레이들을 통해 화면을 표시하기 위한 전자 장치 및 방법
WO2023018201A1 (ko) 이미지 안정화를 수행하는 전자 장치 및 그의 동작 방법

Legal Events

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

Ref document number: 23807741

Country of ref document: EP

Kind code of ref document: A1