Electronic device and operating method thereof
By designing an electronic device including a sensor and a processor in the projector, identifying sensor stability and performing keystone distortion correction, the problem of keystone distortion and instability of sensor data occurring at non-right-angle projection angles is solved, and more accurate image correction and stability is achieved.
Patent Information
- Application Number
- CN202380057561.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-10-04
- Filing Date
- 2023-08-04
- Publication Date
- 2025-03-14
Smart Images

Figure CN119631395A_ABST
Abstract
Description
Technical Field
[0001] Various embodiments relate to an electronic device and an operating method thereof, and more particularly, to an electronic device for performing keystone correction, and an operating method of the electronic device. Background Art
[0002] With the development of optical technology, various types of projectors have been developed. A projector refers to an electronic device that projects light onto a screen (i.e., a projection surface) to form an image on the projection surface. When the angle between the direction of the light projected from the projector and the projection surface is equal to a preset angle, a rectangular image is formed on the screen. However, when the angle between the direction of the light projected from the projector and the projection surface is not equal to the preset angle, warping occurs in the vertical and / or horizontal directions of the image, or a rotated image is formed on the projection surface. This warping is called "keystone distortion" or "keystone effect".
[0003] When the projection angle between the projection surface and the projector is not a right angle, the projector performs image processing to form a rectangular image on the projection surface by adjusting the projection screen to fit the shape of the screen. The projector can use a tilt sensor disposed therein to obtain the rotation angle (e.g., roll or pitch) of the sensor relative to the direction of gravity. In addition, the projector can use an image sensor such as a camera or a plurality of distance sensors disposed therein to obtain the tilt angle (e.g., yaw) between the projector and the projection surface. The projector can perform trapezoidal distortion correction by using the obtained angle correction image. Summary of the invention
[0004] Technical Solutions
[0005] An electronic device according to an embodiment of the present disclosure may include a sensing unit including a sensor, a memory storing one or more instructions, and one or more processors configured to execute the one or more instructions stored in the memory.
[0006] In an embodiment of the present disclosure, one or more processors may be configured to execute one or more instructions to obtain a rotation angle of the electronic device based on raw data obtained by using a sensor.
[0007] In an embodiment of the present disclosure, the one or more processors may be configured to identify whether the sensor is stable based on at least one of the raw data or the rotation angle. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Figure 1is a diagram for describing an electronic device that performs image processing for keystone correction by using a sensor according to an embodiment of the present disclosure.
[0009] Figure 2 is an internal block diagram of an electronic device according to an embodiment of the present disclosure.
[0010] Figure 3 is an internal block diagram of an electronic device according to an embodiment of the present disclosure.
[0011] Figure 4 is an internal block diagram of a processor included in an electronic device according to an embodiment of the present disclosure.
[0012] Figure 5 It is shown Figure 4 FIG. 1 is a diagram of an example of a pose estimation unit.
[0013] Figure 6 is a diagram for describing that a rotation angle varies according to an internal temperature of an electronic device according to an embodiment of the present disclosure.
[0014] Figure 7 is a diagram for describing a change in a rotation angle according to an internal temperature of an electronic device according to an embodiment of the present disclosure.
[0015] Figure 8 It is shown Figure 4 FIG. 1 is a diagram of an example of a pose estimation unit.
[0016] Fig. 9 It is shown Figure 4 FIG. 1 is a diagram of an example of an image processing unit.
[0017] Fig.10 It is a diagram used to describe the keystone distortion effect that occurs according to the rotation angle.
[0018] Fig.11 is a diagram for describing image warping due to a keystone effect and effects of keystone correction.
[0019] Fig.12 is a flowchart illustrating an operation process of an electronic device according to an embodiment of the present disclosure.
[0020] Fig.13 is a flowchart illustrating an operation process of an electronic device according to an embodiment of the present disclosure.
[0021] Fig.14 is a flowchart illustrating an operation process of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0022] In an embodiment of the present disclosure, the one or more processors may be configured to: in response to identifying that the sensor is stable, identify whether the rotation angle is greater than or equal to a reference rotation angle.
[0023] In an embodiment of the present disclosure, the one or more processors may be configured to: in response to the rotation angle being greater than or equal to the reference rotation angle, perform image processing for keystone correction based on the rotation angle.
[0024] An operating method of an electronic device according to an embodiment of the present disclosure may include obtaining a rotation angle of the electronic device based on raw data obtained by using a sensor.
[0025] In an embodiment of the present disclosure, the operating method of the electronic device may further include: identifying whether the sensor is stable based on at least one of the raw data or the rotation angle.
[0026] In an embodiment of the present disclosure, the operating method of the electronic device may further include: in response to identifying that the sensor is stable, identifying whether the rotation angle is greater than or equal to a reference rotation angle.
[0027] In an embodiment of the present disclosure, the operating method of the electronic device may further include: in response to the rotation angle being greater than or equal to the reference rotation angle, performing image processing for keystone correction based on the rotation angle.
[0028] The recording medium according to an embodiment of the present disclosure may be a computer-readable recording medium having recorded thereon a program for a computer to execute an operating method of an electronic device, the operating method including obtaining a rotation angle of the electronic device based on raw data obtained by using a sensor.
[0029] In an embodiment of the present disclosure, the recording medium may be a computer-readable recording medium having recorded thereon a program for a computer to execute an operating method of an electronic device, the operating method further comprising identifying whether the sensor is stable based on at least one of raw data or a rotation angle.
[0030] In an embodiment of the present disclosure, the recording medium may be a computer-readable recording medium having recorded thereon a program for a computer to execute an operating method of an electronic device, the operating method further comprising: in response to identifying that the sensor is stable, identifying whether the rotation angle is greater than or equal to a reference rotation angle.
[0031] In an embodiment of the present disclosure, the recording medium may be a computer-readable recording medium having recorded thereon a program for a computer to execute an operating method of an electronic device, the operating method further comprising: in response to a rotation angle being greater than or equal to a reference rotation angle, performing image processing for keystone correction based on the rotation angle.
[0032] The expression "at least one of a, b, or c" means only a, only b, only c, both a and b, both a and c, both b and c, all of a, b, and c, or variations thereof.
[0033] Hereinafter, the embodiments are described in detail with reference to the accompanying drawings so that those skilled in the art can perform them without difficulty. However, the disclosed embodiments may be implemented in many different forms and should not be construed as being limited to the embodiments set forth herein.
[0034] Although the terms used herein are general terms that are currently widely used and are selected by considering their functions, the meanings of the terms may vary according to the intentions of those skilled in the art, legal precedents, or the emergence of new technologies. Therefore, the terms should not be defined by their simple titles, but rather defined based on their meanings and the context of the description.
[0035] Additionally, the terminology used herein is for describing particular embodiments and is not intended to limit the scope of the disclosed embodiments.
[0036] Throughout the specification, when a part is referred to as being “connected to” another part, it may be “directly connected to” the other part or “electrically connected to” the other part through an intervening element.
[0037] The term "said" and other descriptions similar thereto in the specification (especially in the appended claims) should be understood to include both singular and plural forms. In addition, when there is no description of the order of operations of the method that is explicitly specified, the operations can be performed in an appropriate order. The disclosed embodiments are not limited to the order of operations described.
[0038] As used herein, phrases such as "in some embodiments" or "in an embodiment" are not necessarily referring to the same embodiment.
[0039] Some embodiments can be represented by block components and various process operations. Some or all of the function blocks can be implemented by any number of hardware and / or software elements that perform a specific function. For example, the function block can be implemented by at least one microprocessor or by a circuit component for a specific function. In addition, for example, the function block can be implemented by using various programming or scripting languages. The function block can be implemented by using various algorithms that can be executed by one or more processors. In addition, the disclosed embodiments can adopt known technologies for electronic settings, signal processing and / or data processing. Terms such as "mechanism", "element", "unit" or "component" are used in a broad sense and are not limited to mechanical or physical components.
[0040] In addition, the connecting lines or connecting members between components illustrated in the drawings are merely examples of functional connections and / or physical or circuit connections. Various alternative or additional functional connections, physical connections or circuit connections between components may exist in actual devices.
[0041] In addition, as used herein, terms such as “…er(or)”, “…unit”, “…module” and the like mean a unit that performs at least one function or operation, which may be implemented as hardware or software or a combination thereof.
[0042] Additionally, as used herein, the term "user" refers to a person who uses an electronic device, and may include a consumer, an evaluator, a viewer, an administrator, or an installer.
[0043] Hereinafter, the disclosed embodiments will be described in detail with reference to the accompanying drawings.
[0044] Figure 1 is a diagram for describing an electronic device that performs image processing for keystone correction by using a sensor according to an embodiment of the present disclosure.
[0045] refer to Figure 1 , the electronic device 100 may be an electronic device capable of outputting an image. For example, the electronic device 100 may be a projector that projects an image onto a projection surface. Alternatively, the electronic device 100 may be a module included in the projector and that performs image processing for keystone correction. Alternatively, the electronic device 100 may be implemented as various types of electronic devices that simultaneously perform a projector function and functions of other electronic devices. The electronic device 100 may be fixed or mobile.
[0046] The electronic device 100 may include a sensor. The sensor may obtain status information of the electronic device 100 and / or status information around the electronic device 100.
[0047] The electronic device 100 may obtain the rotation angle of the electronic device 100 by using a sensor. The rotation angle of the electronic device 100 may be defined based on the x-axis, y-axis, and z-axis of the electronic device 100 projecting the image toward the projection surface 105.
[0048] refer to Figure 1 , when the projection angle between the electronic device 100 and the projection surface 105 is a right angle, the projection direction of the light projected to the center of the projection surface 105 or the direction opposite thereto can be defined as the x-axis. In addition, the direction perpendicular to the x-axis and parallel to the horizontal direction of the projection surface 105 can be defined as the y-axis, and the direction perpendicular to the x-axis and parallel to the vertical direction of the projection surface 105 can be defined as the z-axis. The rotation angle around the x-axis can be defined as the roll angle The rotation angle about the y-axis may be defined as a pitch angle θ, and the rotation angle about the z-axis may be defined as a yaw angle ψ.
[0049] The electronic device 100 may include a position sensor. The electronic device 100 may sense the position, angle, etc. of the electronic device 100 based on the position sensor. The position sensor may include at least one of an acceleration sensor, a gravity sensor, an inertial sensor, or a geomagnetic sensor.
[0050] Hereinafter, for convenience of description, an example in which a position sensor included in the electronic device 100 is the acceleration sensor 101 will be described, but the disclosed embodiments are not limited thereto.
[0051] The electronic device 100 may include an acceleration sensor 101. The acceleration sensor 101 may sense changes in the speed of the electronic device 100. The acceleration sensor 101 may be a two-axis acceleration sensor or a three-axis acceleration sensor. In the case where the acceleration sensor 101 is a three-axis acceleration sensor, the acceleration sensor 101 may obtain raw data by measuring gravity acceleration values of the x-axis, y-axis, and z-axis, respectively.
[0052] The electronic device 100 can obtain the rotation angle of the electronic device 100 relative to the gravity direction by using the raw data of each axis obtained by the acceleration sensor 101. The rotation angle of the electronic device 100 relative to the gravity direction may include at least one of the pitch angle or the roll angle of the electronic device 100 relative to the gravity direction.
[0053] The electronic device 100 may include a distance sensor 103. The electronic device 100 may include a plurality of distance sensors 103-1 and 103-2. The distance sensor 103 may be arranged on the front side of the electronic device 100 facing the projection surface 105 in the left and right directions, and may be used to obtain the distance from the electronic device 100 to the projection surface 105 and the inclination between the electronic device 100 and the projection surface 105.
[0054] The electronic device 100 may obtain raw data through the distance sensor 103 , and calculate a yaw angle based on the raw data. The yaw angle is a rotation angle of the electronic device 100 relative to the projection surface 105 .
[0055] The electronic device 100 may additionally perform a filtering operation (eg, a low-pass filter or a moving average) to remove noise from the sensing values obtained through the acceleration sensor 101 and the distance sensor 103 .
[0056] After removing the noise from the sensing value, the electronic device 100 may calculate the rotation angle based on the sensing value from which the noise is removed.
[0057] The electronic device 100 may obtain a geometric relationship between the projection surface 105 and the electronic device 100 by using the rotation angle, and perform keystone correction based on the geometric relationship.
[0058] In this way, since the electronic device 100 obtains the rotation angle of the electronic device 100 based on the raw data obtained by using the sensor, the accuracy of the sensor directly affects the accuracy of calculating the rotation angle. In addition, since the electronic device 100 performs trapezoidal distortion correction based on the rotation angle, the trapezoidal distortion correction is accurately performed only when the values of the respective axes of the sensor are stable and accurate.
[0059] Due to the nature of the product, the projector includes a light source for projecting an image. For example, the projector may include a light source, such as a lamp, a light emitting diode (LED), or a laser. Due to the heat generated by, for example, a lamp and / or an LED light source included in the projector, the internal temperature of the projector is greater than the internal temperature of other electronic devices. A cooling structure such as a radiator or a fan may be included inside the projector to reduce the internal temperature, however, as the size of the projector is gradually reduced and the integration density of the board is increased, there are limitations to reducing the internal temperature even when a cooling structure is included inside the projector.
[0060] When the heat of the light source increases, the temperature of the printed circuit board (PCB) as a board inside the projector also increases. The PCB is a thin plate configured with electrical components such as integrated circuits, resistors, sensors, etc., and deformation such as distortion may occur due to the influence of temperature.
[0061] When the PCB is deformed, the sensor mounted on the PCB also receives the deformation force, and therefore, there is a possibility of erroneously sensing the raw data. That is, when the PCB inside the projector is deformed and thus tilted even if the projector is not tilted, there is a possibility of incorrectly obtaining the raw data because the acceleration sensor mounted on the PCB senses the deformation force. In the case where the roll angle or the pitch angle as the rotation angle of each axis is obtained based on the incorrect raw data obtained by the acceleration sensor, the keystone correction based on the roll angle or the pitch angle is also inaccurate.
[0062] In addition, in the case of deformation of the PCB, there is a possibility that the distance sensor mounted on the PCB incorrectly senses the distance between the projector and the projection surface due to a misaligned position or angle. In the case where the distance sensor obtains incorrect raw data and corrects the image according to the yaw angle obtained based on the incorrect raw data, there is a possibility that keystone correction based thereon may also be incorrectly performed.
[0063] Therefore, the electronic device 100 can find a section or a time point in which the raw data obtained by the sensor or the rotation angle obtained based on the raw data is not significantly affected by the temperature.
[0064] In a section where the raw data or the rotation angle obtained by the sensor is not significantly affected by the temperature, the raw data or the rotation angle based on the raw data has a small data variation range. Therefore, a state in which the difference in the raw data or the rotation angle within a preset time period is less than or equal to a threshold value can be defined as a stable state of the sensor. The electronic device 100 can identify whether the sensor is stable based on the difference in the sensor value within the preset time period or the difference in the rotation angle within the preset time period.
[0065] In addition, keystone correction can be performed based on the rotation angle obtained after determining that the sensor is stable. Therefore, it is possible to eliminate the possibility of incorrectly performing keystone correction based on the rotation angle obtained when the sensor is affected by temperature.
[0066] When the electronic device 100 is powered on and started, the light source included in the electronic device 100 generates heat. Hereinafter, for convenience of description, an example in which the light source included in the electronic device 100 is an LED light source will be described, but the disclosed embodiments are not limited thereto.
[0067] Due to the heat generated by the LED light source included in the electronic device 100, the internal temperature of the electronic device 100 continues to rise until reaching a certain temperature. After the internal temperature of the electronic device 100 reaches the certain temperature, the temperature no longer increases to be constant, or tends to change with a gentle slope.
[0068] The raw data obtained by the sensor mounted on the PCB and the rotation angle obtained based on the raw data may be affected by changes in the internal temperature of the electronic device 100. For example, when the internal temperature of the electronic device 100 changes significantly, for example, when the internal temperature rises rapidly, the rotation angle also tends to change significantly. In addition, when the internal temperature of the electronic device 100 has reached a certain temperature and changes by a small amount, the rotation angle also tends to change by a small amount. For example, when the internal temperature of the electronic device 100 rises to 70°C, the rotation angle tends to change by a large amount within a certain period of time, and after the internal temperature exceeds 70°C, the rotation angle tends to change by a small amount within a certain period of time.
[0069] The electronic device 100 may determine whether the sensor is stable by using at least one of a change in raw data obtained by the sensor or a change in a rotation angle obtained based on the raw data.
[0070] The electronic device 100 may identify whether the sensor is stable based on a difference between a value at a time point t and a value at a time point tk in at least one of the raw data or the rotation angle.
[0071] The electronic device 100 may identify whether the sensor is stable by identifying whether a difference between a value at time point t and a value at time point tk in at least one of the raw data or the rotation angle is less than or equal to a threshold value.
[0072] When the number of times that the difference is less than or equal to the threshold is greater than or equal to a preset number, the electronic device 100 can determine that the sensor is stable. For example, when the number of times that the difference between the pitch angle at time point t and the pitch angle at time point tk is less than or equal to the threshold is N (N is a natural number greater than or equal to 2), the electronic device 100 can recognize that the acceleration sensor 101 is stable.
[0073] In response to recognizing that the sensor is stable, the electronic device 100 may identify whether the rotation angle is greater than or equal to a reference rotation angle.
[0074] In response to the rotation angle being greater than or equal to the reference rotation angle, the electronic device 100 may perform image processing for keystone correction based on the rotation angle. In more detail, the electronic device 100 may perform image processing for keystone correction based on a rotation angle having a value greater than or equal to the reference rotation angle among the pitch angle, the roll angle, and the yaw angle.
[0075] The electronic device 100 may identify whether the sensor is stable only within a threshold time period after the electronic device 100 is powered on and booted up. After the electronic device 100 is booted up, the light source begins to generate heat and the internal temperature rises until a certain point in time or until a certain temperature. Because the raw data obtained by the sensor changes by a large amount when the temperature of the electronic device 100 rises, the electronic device 100 may determine whether the sensor is stable only during a preset time period when the booting starts and the temperature of the electronic device 100 rises.
[0076] When the acceleration sensor 101 is not identified as stable within a threshold time period after startup and the threshold time period has passed, the electronic device 100 may determine whether the rotation angle is greater than or equal to the reference rotation angle. That is, in the case where the sensor is not stable even within the threshold time period, the electronic device 100 may compare the rotation angle with the reference rotation angle instead of continuously determining whether the sensor is stable, and when the rotation angle is greater than the reference rotation angle, perform keystone correction according to the rotation angle.
[0077] Before obtaining the rotation angle, the electronic device 100 may first identify whether the electronic device 100 is moving.
[0078] When the electronic device 100 is moving, for example, when the user is moving the electronic device 100 to adjust the projection direction or when the electronic device 100 is automatically adjusting the projection direction to a preset direction, in addition to the influence of gravity acceleration, the physical force for moving the electronic device 100 acts on each axis of the acceleration sensor 101. Therefore, when the electronic device 100 is moved by the physical force, the sensor senses the physical force in addition to gravity acceleration. On the other hand, because the acceleration sensor 101 only senses gravity acceleration when the electronic device 100 is not moving, it is possible to accurately determine how much the electronic device 100 is tilted relative to the gravity direction by using only the sensing value obtained when the electronic device 100 is not moving.
[0079] In addition, when the electronic device 100 is moving, the distance and angle between the distance sensor 103 and the projection surface 105 vary, and therefore, the value sensed by the distance sensor 103 is likely to be inaccurate.
[0080] Therefore, the electronic device 100 may first determine whether the electronic device 100 is stationary, that is, not moving. When it is determined that the electronic device 100 is not moving, the electronic device 100 may obtain a rotation angle based on the raw data.
[0081] The electronic device 100 may determine the motion of the electronic device 100 by using a sensing value obtained by the acceleration sensor 101 or at least one of the distance sensors 103-1 and 103-2. In detail, the electronic device 100 may collect sensing values of a plurality of samples obtained by the acceleration sensor 101 and the distance sensor 103, and determine whether the electronic device 100 is moving by using a mean, variance, standard deviation, etc. of the sensing values.
[0082] The electronic device 100 may further include a temperature sensor configured to detect a temperature change of the LED light source.
[0083] The electronic device 100 may sense the internal temperature of the electronic device 100 by using a temperature sensor, and determine the reference rotation angle based on the temperature.
[0084] As described above, the rotation angle is affected by the internal temperature of the electronic device 100. Therefore, considering the relationship between the internal temperature and the rotation angle, the electronic device 100 can set the reference rotation angle differently for the case where the internal temperature is greater than the reference temperature and the case where the internal temperature is less than or equal to the reference temperature.
[0085] The reference rotation angle may refer to a rotation angle to be used as a reference when determining whether a rotation angle obtained by sensing with a sensor is recognized as meaningful data.
[0086] The electronic device 100 may identify whether the temperature sensed by the temperature sensor is greater than a reference temperature. The reference temperature may be a temperature used as a reference for distinguishing a section where the rotation angle changes by a large amount according to a temperature change of the electronic device 100 and a section where the rotation angle changes by a small amount according to a temperature change of the electronic device 100. For example, in a case where the rotation angle changes by a large amount when the internal temperature of the electronic device 100 increases to 70°C, and the rotation angle changes by a small amount when the internal temperature of the electronic device 100 is greater than 70°C, the reference temperature may be 70°C.
[0087] The electronic device 100 may set the reference rotation angle differently for a case where the current temperature sensed by the temperature sensor is greater than a reference temperature of 70° C. and a case where the current temperature sensed by the temperature sensor is less than the reference temperature of 70° C.
[0088] The electronic device 100 may set the reference rotation angle to angle th1 based on the current temperature being less than or equal to the reference temperature, and may set the reference rotation angle to angle th2 based on the current temperature being greater than the reference temperature. Angle th1 may be greater than angle th2. That is, when the current temperature of the electronic device 100 is greater than the reference temperature, the electronic device 100 may set the reference rotation angle to a small angle, thereby determining even a small rotation angle as meaningful data, and performing keystone correction according to the rotation angle.
[0089] In addition, when the current temperature is less than or equal to the reference temperature, the predicted rotation angle changes continuously, and the electronic device 100 can set the reference rotation angle to a slightly larger angle, thereby determining only large rotation angles as meaningful data and performing keystone correction according to the rotation angle.
[0090] The electronic device 100 may determine only a rotation angle greater than a reference rotation angle as meaningful data, and may set a rotation angle less than the reference rotation angle to 0, thus not determining a rotation angle less than the reference rotation angle as meaningful data.
[0091] In this way, in order to minimize the error of the rotation angle caused by the change in the internal temperature, the electronic device 100 can identify the change in at least one of the raw data or the rotation angle, and determine whether the sensor is stable based on the change. Therefore, the electronic device 100 can perform keystone correction by using only the rotation angle obtained in the section where the sensor is stable.
[0092] In addition, the electronic device 100 may include a temperature sensor to measure the internal temperature of the electronic device 100, and the reference rotation angle may be adjusted differently according to whether the temperature of the electronic device 100 is greater than the reference temperature. Therefore, the electronic device 100 may determine whether to determine the rotation angle as meaningful data according to whether the current temperature of the electronic device 100 is less than or equal to the reference temperature, thereby minimizing the influence of the temperature on the rotation angle.
[0093] Figure 2 is an internal block diagram of an electronic device according to an embodiment of the present disclosure.
[0094] Figure 2 The electronic device 100a may be Figure 1 An example of an electronic device 100 is shown.
[0095] refer to Figure 2 , the electronic device 100 a may include a processor 110 , a memory 120 , and a sensing unit 130 .
[0096] The sensing unit 130 may include a sensor. The sensor may obtain raw data by detecting a state of the electronic device 100a or a state around the electronic device 100a, and transmit the raw data to the processor 110.
[0097] The sensing unit 130 may include a temperature sensor. The sensing unit 130 may measure the internal temperature of the electronic device 100a by using the temperature sensor and transmit the internal temperature to the processor 110.
[0098] The sensing unit 130 may include a sensor configured to obtain raw data for estimating the posture of the electronic device 100a. The processor 110 may estimate the posture of the electronic device 100a based on the raw data obtained by the sensing unit 130. The processor 110 may estimate the posture of the electronic device 100a by using a roll angle, a pitch angle, and a yaw angle, which are rotation angles relative to three axes (i.e., an x-axis, a y-axis, and a z-axis), respectively.
[0099] The memory 120 may store at least one instruction.
[0100] The memory 120 may store at least one program executable by the processor 110. In addition, the memory 120 may store data input to or output from the electronic device 100a.
[0101] The memory 120 may include at least one of a flash memory type storage medium, a hard disk type storage medium, a multimedia card micro storage medium, a card type memory (e.g., an SD or XD memory), a random access memory (RAM), a static RAM (SRAM), a read-only memory (ROM), an electrically erasable programmable ROM (EEPROM), a programmable ROM (PROM), a magnetic memory, a magnetic disk, or an optical disk.
[0102] The memory 120 may store one or more instructions for obtaining a rotation angle based on raw data obtained by the sensor.
[0103] The memory 120 may store one or more instructions for removing noise included in raw data.
[0104] The memory 120 may store one or more instructions for identifying whether the sensor is stable based on at least one of the raw data or the rotation angle.
[0105] The memory 120 may store one or more instructions for identifying whether the rotation angle is greater than or equal to a reference rotation angle.
[0106] The memory 120 may store one or more instructions for identifying whether the electronic device 100a is moving based on the raw data.
[0107] The memory 120 may store a reference temperature to be used as a reference for determining whether the internal temperature of the electronic device 100 a is greater than or equal to a threshold value.
[0108] The memory 120 may store one or more instructions for determining a reference rotation angle according to the temperature of the electronic device 100 a .
[0109] The memory 120 may store one or more instructions for performing image processing for keystone correction based on the rotation angle when the rotation angle is greater than or equal to the reference rotation angle.
[0110] The memory 120 may store one or more instructions for setting the rotation angle to 0 when the rotation angle is less than a reference rotation angle.
[0111] The memory 120 may store one or more instructions for identifying whether a sensor is stable within a threshold time period after a point in time when the electronic device is powered on and booted up.
[0112] The memory 120 may store one or more instructions for determining whether the rotation angle after the threshold time period has passed is greater than or equal to the reference rotation angle based on not recognizing that the sensor is stable within the threshold time period.
[0113] The electronic device 100a may include one or more processors 110. The processor 110 may control the overall operation of the electronic device 100a.
[0114] The one or more processors 110 may execute one or more instructions stored in the memory 120 to control the operation of the electronic device 100 a .
[0115] The one or more processors 110 may execute one or more instructions to obtain a rotation angle of the electronic device 100 a based on raw data obtained by the sensor.
[0116] The one or more processors 110 may execute one or more instructions to perform signal processing for removing noise from raw data.
[0117] The one or more processors 110 may execute one or more instructions to identify motion of the electronic device 100 a based on the raw data.
[0118] The one or more processors 110 may execute one or more instructions to obtain a rotation angle from the raw data in response to recognizing that the electronic device 100a is not moving.
[0119] The one or more processors 110 may execute one or more instructions to identify whether the sensor is stable based on at least one of the raw data or a rotation angle obtained based on the raw data.
[0120] The one or more processors 110 may execute one or more instructions to obtain a rotation angle of the electronic device 100 a relative to the gravity direction based on raw data obtained by the sensor included in the sensing unit 130 .
[0121] The rotation angle of the electronic device 100a relative to the gravity direction may include at least one of a pitch angle or a roll angle of the electronic device 100a relative to the gravity direction.
[0122] The one or more processors 110 may execute one or more instructions to obtain a rotation angle of the electronic device 100 a relative to the projection surface 105 based on raw data obtained by a sensor included in the sensing unit 130 .
[0123] The rotation angle of the electronic device 100 a relative to the projection surface 105 may include a yaw angle.
[0124] The one or more processors 110 may execute one or more instructions to identify whether the sensor is stable based on a difference between a value at time point t and a value at time point tk in at least one of the raw data or the rotation angle.
[0125] The one or more processors 110 may execute one or more instructions to identify whether the sensor is stable by identifying whether a difference between a value at time point t and a value at time point tk in at least one of the raw data or the rotation angle is less than or equal to a threshold.
[0126] The one or more processors 110 may execute one or more instructions to identify whether the rotation angle is greater than or equal to a reference rotation angle in response to identifying that the sensor is stable.
[0127] The one or more processors 110 may execute one or more instructions to determine a reference rotation angle according to a temperature value obtained by a temperature sensor included in the sensing unit 130 .
[0128] The one or more processors 110 may execute one or more instructions to identify whether the temperature obtained by the temperature sensor is greater than a reference temperature, set the reference rotation angle to angle th1 based on the temperature being less than or equal to the reference temperature, and set the reference rotation angle to angle th2 based on the temperature being greater than the reference temperature. Angle th1 may be greater than angle th2.
[0129] The one or more processors 110 may execute one or more instructions to perform image processing for keystone correction based on the rotation angle in response to the rotation angle being greater than or equal to the reference rotation angle.
[0130] The one or more processors 110 may execute one or more instructions to set the rotation angle to zero for a rotation angle less than a reference rotation angle.
[0131] The rotation angle may include at least one of a pitch angle, a roll angle, or a yaw angle.
[0132] The one or more processors 110 may execute one or more instructions to correct the image projected onto the projection surface 105 by using a rotation angle having a value greater than or equal to a reference rotation angle among the pitch angle, the roll angle, and the yaw angle.
[0133] The one or more processors 110 may execute one or more instructions to identify whether a sensor is stable within a threshold period of time after the electronic device 100a is powered on (started up).
[0134] The one or more processors 110 may execute one or more instructions to determine whether the rotation angle after the threshold time period has elapsed is greater than or equal to the reference rotation angle based on identifying that the sensor is unstable within the threshold time period.
[0135] Figure 3 is an internal block diagram of an electronic device according to an embodiment of the present disclosure.
[0136] Figure 3The electronic device 100b may be Figure 2 Hereinafter, the above reference will be omitted. Figure 2 Provide a description.
[0137] refer to Figure 3 , the electronic device 100 b may include a processor 110 , a memory 120 , a sensing unit 130 a , a user input unit 140 , and a projection unit 150 .
[0138] The sensing unit 130a may include a plurality of sensors.
[0139] The sensing unit 130 a may include an acceleration sensor 101 , a distance sensor 103 , and a temperature sensor 131 .
[0140] The acceleration sensor 101 can obtain the three-axis acceleration values of the electronic device 100b as raw data, and send the raw data about the acceleration values to the processor 110. Based on the raw data about the three-axis acceleration values, the processor 110 can obtain the roll angle and the pitch angle, which are the rotation angles of the electronic device 100b relative to the gravity direction.
[0141] Because the acceleration sensor 101 is a sensor configured to sense changes in acceleration, and acceleration is affected by force, when the PCB within the electronic device 100b receives a twisting force due to temperature and is thus deformed, the acceleration sensor 101 mounted on the PCB senses the force by which the PCB is twisted.
[0142] The electronic device 100 b may determine whether the acceleration sensor 101 is stable in order to identify whether raw data sensed by the acceleration sensor 101 is reliable.
[0143] The processor 110 may determine whether the acceleration sensor 101 is stable by using at least one of raw data obtained by the acceleration sensor 101 or a rotation angle obtained based on the raw data. The processor 110 may determine whether the acceleration sensor 101 is stable by using at least one of a roll angle or a pitch angle as the rotation angle.
[0144] The sensing unit 130a may include a distance sensor 103. A plurality of distance sensors 103 may be provided. A plurality of distance sensors 103 may be arranged in a horizontal direction on a front surface of the electronic device 100b facing the projection surface 105. For example, the electronic device 100b may include two distance sensors 103 arranged side by side along the y-axis, the y-axis being parallel to the projection surface 105. Alternatively, the two distance sensors 103 may be rotated by a first angle to face each other at an angle. For example, the two distance sensors 103 may be symmetrically rotated by a first angle to face each other relative to the z-axis.
[0145] However, this is merely an embodiment, and the arrangement or positions of the plurality of distance sensors 103 may be variously modified according to the exterior or structure of the electronic device 100 b .
[0146] The number of the distance sensors 103 may be two, but is not limited thereto, and two or more distance sensors, for example, four or six distance sensors may be arranged in the electronic device 100 b .
[0147] The distance sensor 103 may be implemented in various types such as an infrared sensor, a light detection and ranging (LIDAR) sensor, a radio detection and ranging (RADAR) sensor, a photodiode sensor, a depth sensor, an ultrasonic sensor, and the like.
[0148] Two or more distance sensors 103 may be arranged at positions facing the projection surface 105 to obtain raw data about the distance to the projection surface 105. Based on the raw data obtained by sensing of the distance sensor 103, the processor 110 may obtain a yaw angle, which is a rotation angle of the electronic device 100b relative to the projection surface 105.
[0149] Since the distance sensor 103 is also mounted on the PCB, when the PCB is deformed due to temperature, the position or angle of the distance sensor 103 may be changed and the distance to the projection surface 105 may be erroneously sensed.
[0150] The processor 110 may determine whether the distance sensor 103 is stable by using at least one of raw data obtained by the distance sensor 103 or a rotation angle obtained based on the raw data.
[0151] The processor 110 may identify whether the sensor is in a stable section or a stable time point where the sensor is not significantly affected by temperature based on at least one of the acceleration sensor 101 or the distance sensor 103 , and perform keystone correction based on a rotation angle obtained when the sensor is stable.
[0152] although Figure 3 The sensing unit 130a is shown to include the distance sensor 103, but the disclosed embodiments are not limited thereto, and the sensing unit 130a may obtain the distance between the electronic device 100b and the projection surface 105 as raw data by using an image sensor such as a camera instead of the distance sensor 103. Alternatively, the sensing unit 130a may sense the distance to the projection surface 105 by using, for example, a depth camera, an infrared sensor.
[0153] The sensing unit 130a may include a temperature sensor 131. The temperature sensor 131 may measure the internal temperature of the electronic device 100b. The processor 110 may compare the internal temperature of the electronic device 100b obtained by the temperature sensor 131 with the reference temperature stored in the memory 120 to determine whether the internal temperature of the electronic device 100b is greater than or equal to the reference temperature.
[0154] The processor 110 may set the reference rotation angle differently for a case where the internal temperature of the electronic device 100 b is less than the reference temperature and a case where the temperature is greater than or equal to the reference temperature.
[0155] The reference rotation angle may be an angle to be used as a reference for determining whether the rotation angle obtained by using the acceleration sensor 101 and the distance sensor 103 is meaningful data to be used for keystone correction.
[0156] The user input unit 140 may refer to a unit through which a user inputs data for controlling the electronic device 100b. The user may input a control signal for controlling the electronic device 100b through the user input unit 140.
[0157] The user input unit 140 may include, but is not limited to, a key pad, a dome switch, a touch pad (e.g., a touch-type capacitive touch pad, a pressure-type resistive cover touch pad, an infrared sensor type touch pad, a surface acoustic wave conduction touch pad, an integrated tension measurement touch pad, a piezoelectric effect type touch pad), a scroll wheel, and / or a scroll wheel switch.
[0158] In addition, the user input unit 140 may include a microphone, a camera unit, and an optical receiver that can detect a user's voice, image, or interaction. The microphone may receive a voice emitted by the user, convert the received voice into an electrical signal, and transmit the electrical signal to the processor 110. The camera unit may include a lens and capture an image formed on the screen. The optical receiver may receive an optical signal such as a control signal. The optical receiver may receive an optical signal corresponding to a user input (e.g., touch, push, touch gesture, voice, or motion) from a remote control device such as a remote controller or a mobile phone. The processor 110 may extract a control signal from the received optical signal.
[0159] The projection unit 150 is a component that projects light for displaying an image to the outside, and may also be referred to as a projection unit. The projection unit 150 may include various detailed components such as a light source, a projection lens, or a reflector.
[0160] The projection unit 150 may project an image by using various projection methods (eg, a cathode ray tube (CRT) method, a liquid crystal display (LCD) method, a digital light processing (DLP) method, a laser method, etc.).
[0161] The projection unit 150 may include various types of light sources. For example, the projection unit 150 may include at least one light source of a lamp, an LED, and a laser.
[0162] The projection unit 150 can output images in a 4:3 aspect ratio, a 5:4 aspect ratio, a wide 16:9 aspect ratio according to the purpose of the electronic device 100b or the user's settings, and can output images in various resolutions such as WVGA (854*480), SVGA (800*600), XGA (1024*768), WXGA (1180*720), WXGA (1180*800), SXGA (1180*1024), UXGA (1600*1100) and / or full HD (1920*1080).
[0163] The projection unit 150 may perform various functions for adjusting an output image under the control of the processor 110. For example, the projection unit 150 may perform functions such as zoom, keystone, or lens shift.
[0164] The projection unit 150 can perform, for example, a zoom function, a keystone correction function, and / or a focus adjustment function by automatically analyzing the surrounding environment and the projection environment according to the control of the user or without the control of the user. The projection unit 150 can automatically perform, for example, a zoom function, a keystone correction function, and / or a focus adjustment function based on the distance between the electronic device 100b and the projection surface 105 sensed by, for example, the distance sensor 103, the camera, the depth camera, and / or the infrared sensor, information about the space where the electronic device 100b is currently located, and information about, for example, the amount of ambient light.
[0165] Figure 4 is an internal block diagram of a processor included in an electronic device according to an embodiment of the present disclosure.
[0166] Figure 4 The processor 110a may be Figure 3 An example of a processor 110 .
[0167] refer to Figure 4 , the processor 110 a may include a posture estimation unit 410 and an image processing unit 420 .
[0168] The posture estimation unit 410 may receive raw data from the sensing unit 130a. The posture estimation unit 410 may estimate the posture of the electronic device 100b based on the raw data.
[0169] The posture estimation unit 410 may first remove noise from the raw data before estimating the posture of the electronic device 100b. For example, the posture estimation unit 410 may also remove noise included in the raw data by using a low-pass filter or a moving average to remove noise included in the raw data.
[0170] The posture estimation unit 410 may perform signal processing for noise removal by using raw data received from the sensing unit 130a within a preset period of time. Alternatively, the posture estimation unit 410 may simultaneously receive raw data from the sensing unit 130a and remove noise in real time.
[0171] The posture estimation unit 410 may estimate the posture of the electronic device 100b based on the raw data from which noise is removed. However, this is merely an embodiment, and the posture estimation unit 410 may directly estimate the posture of the electronic device 100b based on the raw data without noise removal.
[0172] The attitude of the electronic device 100 b may be estimated by a roll angle, a pitch angle, and a yaw angle, which are rotation angles of the electronic device 100 b .
[0173] The posture estimation unit 410 may estimate a roll angle and a pitch angle based on raw data received from the acceleration sensor 101 .
[0174] The attitude estimation unit 410 may estimate the yaw angle based on the raw data received from the distance sensor 103 .
[0175] The posture estimation unit 410 may identify whether the acceleration sensor 101 or the distance sensor 103 included in the sensing unit 130 a is stable based on at least one of the raw data or the rotation angle.
[0176] When the acceleration sensor 101 is recognized to be stable, the attitude estimation unit 410 may transmit at least one of the roll angle or the pitch angle to the image processing unit 420. In addition, when the distance sensor 103 is recognized to be stable, the attitude estimation unit 410 may transmit the yaw angle to the image processing unit 420.
[0177] The image processing unit 420 may correct the original image based on the estimated posture of the electronic device 100 b .
[0178] The image processing unit 420 may obtain a projection matrix and a transformation matrix by using a pitch angle and a yaw angle as the rotation angle of the electronic device 100 b and the shortest distance between the electronic device 100 b and the projection surface 105 .
[0179] The image processing unit 420 may perform image processing for keystone correction on the original image based on the projection matrix and the transformation matrix.
[0180] Figure 5 It is shown Figure 4 FIG. 1 is a diagram of an example of a pose estimation unit.
[0181] refer to Figure 5 The posture estimation unit 410 a may include a rotation angle acquisition unit 411 and a stability identification unit 415 .
[0182] The rotation angle obtaining unit 411 may receive raw data from the acceleration sensor 101. The rotation angle obtaining unit 411 may receive x-axis, y-axis, and z-axis acceleration values from the acceleration sensor 101 as raw data.
[0183] The rotation angle obtaining unit 411 may estimate a roll angle and a pitch angle based on raw data received from the acceleration sensor 101 .
[0184] When the electronic device 100b including the acceleration sensor 101 is not moving, only the influence of gravity acceleration is measured from each axis of the acceleration sensor 101. By using the sensed values obtained when the electronic device 100b is not moving, it is possible to identify how much the electronic device 100b including the acceleration sensor 101 is tilted relative to the gravity direction.
[0185] The rotation angle obtaining unit 411 may calculate the rolling angle based on the raw data by using the following equations 1 and 2: and pitch angle θ.
[0186] [Equation 1]
[0187]
[0188] [Equation 2]
[0189]
[0190] In equation 1, A bx , A by and A bz They respectively represent the x-axis, y-axis, and z-axis acceleration values of the acceleration sensor 101 .
[0191] The rotation angle obtaining unit 411 may obtain the yaw angle based on the raw data obtained from the distance sensor 103. The rotation angle obtaining unit 411 calculates the distance between each of the plurality of distance sensors 103 (e.g., two distance sensors 103) and the projection surface 105 by using the sensing value received from each of the two distance sensors 103, and calculates the yaw angle by using the distance between each of the two distance sensors 103 and the projection surface 105, the distance between the two distance sensors 103, and the rotation angle between the two distance sensors 103.
[0192] The rotation angle obtaining unit 411 may obtain at least one of a roll angle, a pitch angle, or a yaw angle, and transmit the obtained angle(s) to the stability identifying unit 415 .
[0193] The stability identification unit 415 may identify whether the sensor is stable.
[0194] Because the temperature of the projector is high due to the heat generated by the light source included therein, the sensor may sense an incorrect value due to deformation of the plate on which the sensor is mounted. Therefore, the stability identification unit 415 can determine whether the sensor is stable in order to identify whether the sensor has sensed an incorrect value.
[0195] The stability identification unit 415 may identify whether the sensor is stable based on the raw data. The stability identification unit 415 may receive raw data from at least one of the acceleration sensor 101 and / or the distance sensor 103, and identify whether the sensor is stable based on the raw data. The stability identification unit 415 may identify whether the sensor is stable based on a change in the raw data.
[0196] Alternatively, the stability identification unit 415 may identify whether the sensor is stable based on the rotation angle obtained based on the raw data. The stability identification unit 415 may obtain at least one of the roll angle, the pitch angle, or the yaw angle as the rotation angle from the rotation angle obtaining unit 411, and determine whether the sensor is stable based on the obtained (multiple) angles.
[0197] The stability identification unit 415 can identify whether the sensor is stable based on the change in the rotation angle. The stability identification unit 415 can identify a section in which the rotation angle changes by a small amount even when the internal temperature of the electronic device 100b changes as a stable section. The stability identification unit 415 can identify whether the sensor is stable by using the change in the rotation angle.
[0198] For example, the stability recognition unit 415 can recognize whether the acceleration sensor 101 is stable by using the roll angle. The stability recognition unit 415 can recognize whether the sensor is stable by recognizing whether the difference between the roll angle at time point t and the roll angle at time point tk is less than or equal to a threshold.
[0199] When the difference between the roll angle at time point t and the roll angle at time point tk is less than or equal to the threshold N times (N is a natural number greater than or equal to 2), the stability recognition unit 415 can recognize that the sensor is stable.
[0200] In the following, reference will be made to Figure 6 and Figure 7 Describes changes in rotation angle and whether the sensor is stable.
[0201] Figure 6 is a diagram for describing that a rotation angle varies according to an internal temperature of an electronic device according to an embodiment of the present disclosure.
[0202] The projector includes a light source for projecting an image. Since a clear image is projected only when the projector projects an image with strong light, a light source such as a lamp or an LED generates a large amount of heat, and the internal temperature of the projector increases accordingly. When the temperature of the projector increases and thus a board therein is deformed (e.g., twisted), even if the projector is not rotated, a sensor arranged on the board may sense a force applied to the board and thus obtain incorrect raw data. In the case where a roll angle or a pitch angle is obtained as a rotation angle based on incorrect raw data obtained by the sensor, keystone correction based on the roll angle or the pitch angle is also inaccurate.
[0203] refer to Figure 6 , reference numeral '610' is a graph showing that the internal temperature of the electronic device 100b changes due to heat generated by the LED light source included in the electronic device 100b.
[0204] As shown in the graph 610 , the internal temperature of the electronic device 100 b shows a trend of continuously increasing due to the heating of the light source until reaching a certain temperature, and after reaching the certain temperature, stops increasing and maintains a constant temperature or changes slightly with a gentle slope.
[0205] Reference numerals “620” to “640” are each a graph showing a roll angle obtained based on raw data obtained by using the acceleration sensor 101 included in the electronic device 100b when the internal temperature of the electronic device 100b changes as shown in the graph 610. Graph of the curve.
[0206] When the internal temperature of the electronic device 100b changes, the raw data changes in various forms. For example, as shown in the graph 620 or 630, the rolling angle may increase or decrease over time. Alternatively, as shown in the graph 640, the rolling angle may decrease as the temperature increases and then increase, rather than simply increase or decrease. That is, when the internal temperature of the electronic device 100b increases, the raw data changes in various forms.
[0207] Referring to graphs 610 to 640, it can be seen that the roll angle changes differently between before and after the temperature of the electronic device 100b reaches a certain temperature (for example, before and after the temperature of the electronic device 100b is 70°C). That is, it can be seen that until the temperature of the electronic device 100b reaches 70°C, the change in the roll angle, that is, the slope of the graph has a relatively high value, but after the temperature of the electronic device 100b exceeds 70°C, the change in the roll angle is gentle.
[0208] When the temperature for distinguishing between the section in which the change in the rotation angle is large and the section in which the change in the rotation angle is small is referred to as a reference temperature, in the above example, the reference temperature may be 70° C. When the time point at which the electronic device 100 b reaches the reference temperature is referred to as a reference time point, it can be seen that the change in the rolling angle is different between before and after the reference temperature and the reference time point.
[0209] Figure 7 is a diagram for describing a change in a rotation angle according to an internal temperature of an electronic device according to an embodiment of the present disclosure.
[0210] Figure 7 is a graph showing the temperature of the electronic device 100b when the internal temperature is Figure 6 As shown in the graph 610, the rolling angle calculated based on the raw data obtained by using the acceleration sensor 101 included in the electronic device 100b changes. Graph of the changes in .
[0211] like Figure 7 As shown, the rolling angle can be divided into a section with a large rotation angle change and a section with a small rotation angle change based on a reference temperature and a reference time point corresponding to the reference temperature.
[0212] exist Figure 7 In FIG. 1 , it can be seen that when the reference time point corresponding to the reference temperature is 100, the change in the rolling angle before the reference time point is greater than the change in the rolling angle after the reference time point. That is, it can be seen that before the reference time point, the change in the rolling angle during the same time interval is greater than the threshold value, while after the reference time point, the change in the rolling angle during the same time interval is less than the threshold value.
[0213] A large change in roll angle may mean that the sensor is in an unstable state. On the other hand, a small change in roll angle may mean that the sensor is in a stable state.
[0214] Return to reference Figure 5 In this way, the stability identification unit 415 can distinguish between a section in which the rotation angle changes greatly and a section in which the rotation angle changes little, and identify the section in which the rotation angle changes little as a stable section.
[0215] The stability identification unit 415 may identify whether the sensor is stable by using a change in raw data obtained by the sensor or a change in a rotation angle obtained as the raw data.
[0216] The stability identification unit 415 may identify whether the acceleration sensor 101 is stable by using Equation 3 below.
[0217] [Equation 3]
[0218]
[0219] In equation 3, represents the current roll angle calculated based on the raw data obtained from the acceleration sensor 101, and represents the rolling angle k samples ago. STh represents the preset reference threshold of the change of the rolling angle.
[0220] The stability identification unit 415 can also and The difference between them is compared with a preset threshold value STh to determine whether the acceleration sensor 101 is stable. and The difference between the roll angle and the roll angle over time may refer to the slope of the graph of the roll angle over time. The stability identification unit 415 may identify whether the acceleration sensor 101 is stable based on whether the change in the roll angle or the slope of the graph is large or small.
[0221] The stability identification unit 415 may execute equation 3 only once, or may repeatedly execute equation 3 multiple times. For example, when the number of times the change in the roll angle satisfies equation 3 is greater than or equal to a preset value, such as N (N is a natural number greater than or equal to 2), the stability identification unit 415 may identify that the acceleration sensor 101 is stable.
[0222] Similarly, the stability identification unit 415 may identify whether the acceleration sensor 101 is stable by using Equation 4 below.
[0223] [Equation 4]
[0224] |θ(t)-θ(tk)| <GTh
[0225] In Equation 4, θ(t) represents a current pitch angle calculated based on raw data obtained from the acceleration sensor 101, and θ(t) represents a pitch angle k samples ago. GTh represents a preset reference threshold value of a change in the pitch angle.
[0226] The stability identification unit 415 may also compare the difference between θ(t) and θ(t) with a preset threshold value GTh to determine whether the acceleration sensor 101 is stable.
[0227] The stability identification unit 415 may identify whether the acceleration sensor 101 is stable by executing Equation 4 only once or by repeatedly executing Equation 4 multiple times. For example, when the number of times the change in the pitch angle satisfies Equation 4 is greater than or equal to a preset value, such as N (N is a natural number greater than or equal to 2), the stability identification unit 415 may identify that the acceleration sensor 101 is stable.
[0228] The stability identification unit 415 may identify whether the acceleration sensor 101 is stable by using at least one of Equation 3 or Equation 4.
[0229] Similarly, the stability identification unit 415 may identify whether the distance sensor 103 is stable by using a similar method for the yaw angle.
[0230] Figure 8 It is shown Figure 4 FIG. 1 is a diagram of an example of a pose estimation unit.
[0231] In addition to the posture estimation unit 410b, the motion recognition unit 810 is also included. Figure 8 The posture estimation unit 410b and Figure 5 The same as the posture estimation unit 410a. Figure 4 and Figure 5 Provide a description.
[0232] In addition to the rotation angle obtaining unit 411 and the stability identification unit 415, Figure 8 The posture estimation unit 410 b may further include a motion recognition unit 810 .
[0233] The motion recognition unit 810 may recognize the motion of the electronic device 100 b .
[0234] Before the rotation angle obtaining unit 411 obtains the rotation angle by using the sensing data, the electronic device 100 b may first recognize whether the electronic device 100 b is moving by using the motion recognition unit 413 .
[0235] When the electronic device 100b changes the projection angle or position automatically or manually by the user's physical force, the force for moving the electronic device 100b acts on each axis of the acceleration sensor 101 together with the effect of gravity acceleration. Therefore, when the electronic device 100 is moved, the sensor senses physical forces other than gravity acceleration. In this case, it is impossible to accurately identify how much the electronic device 100b is tilted relative to the direction of gravity.
[0236] In addition, when the electronic device 100b is moving, the distance and angle between the distance sensor 103 and the projection surface 105 change, and therefore, the value sensed by the distance sensor 103 is likely to be inaccurate. Therefore, the distance between the electronic device 100b and the projection surface 105 can be accurately obtained by using only the sensed value obtained when the electronic device 100b is not moving.
[0237] The motion recognition unit 810 may obtain the acceleration value obtained by the acceleration sensor 101 as raw data. The motion recognition unit 810 may recognize the motion of the electronic device 100b by using the acceleration value at a specific time point and the acceleration value at a time point before the specific time point.
[0238] The motion recognition unit 810 may normalize the difference between the acceleration values by using Equation 5 below.
[0239] [Equation 5]
[0240]
[0241] A bx , A by and A bz denote sensing values of the x-axis acceleration sensor, the y-axis acceleration sensor, and the z-axis acceleration sensor, respectively, and t denotes a time point.
[0242] When the value obtained by using Equation 5 is greater than the threshold, the motion recognition unit 810 can determine that the electronic device 100b is moving. Even when the slope is fixed, the sensor output value can be generated according to the change of the surrounding magnetic field or environment, so the threshold is not necessarily set to 0 and can be set in consideration of a small error range.
[0243] The motion recognition unit 810 may recognize the motion of the electronic device 100 b by using raw data obtained by the distance sensor 103 .
[0244] The motion recognition unit 810 may receive raw data at a specific time point and raw data at a time point before the specific time point from the distance sensor 103 multiple times, and recognize the motion of the electronic device 100 b by comparing a current measurement value with a previous measurement value.
[0245] The motion recognition unit 810 may normalize the difference between the raw data obtained from the distance sensor 103 by using Equation 6 below.
[0246] [Equation 6]
[0247]
[0248] d 1 denotes a sensing value of each of the two distance sensors 103 , and t denotes a time point.
[0249] When the value obtained by Equation 6 is outside the threshold value, the motion recognition unit 810 may determine that the electronic device 100b is moving. The threshold value is not necessarily set to 0, and may be set in consideration of a slight error range.
[0250] The motion recognition unit 810 may recognize whether the electronic device 100 b is moving at regular time intervals or at random intervals.
[0251] The motion recognition unit 810 may inform the rotation angle obtaining unit 411 whether the electronic device 100b is moving.
[0252] When it is determined that the electronic device 100b is not moving, the rotation angle obtaining unit 411 can obtain the pitch angle and the roll angle by using the raw data obtained from the acceleration sensor 101. In addition, when it is determined that the electronic device 100b is not moving, the rotation angle obtaining unit 411 can obtain the yaw angle by using the raw data obtained from the distance sensor 103.
[0253] The rotation angle obtaining unit 411 and the stability identifying unit 415 may not perform operations of calculating the rotation angle or determining the stability until the electronic device 100b stops moving. In addition, the electronic device 100b may not perform keystone correction until the electronic device 100b stops moving.
[0254] Fig. 9 It is shown Figure 4 FIG. 1 is a diagram of an example of an image processing unit.
[0255] refer to Fig. 9 , the image processing unit 420 a may include a reference rotation angle setting unit 910 , a rotation angle determining unit 920 , and an image correction unit 930 .
[0256] The reference rotation angle setting unit 910 may obtain the temperature of the electronic device 100 b from the temperature sensor 131 and obtain the reference temperature from the memory 120 .
[0257] The reference rotation angle setting unit 910 may compare the temperature of the electronic device 100 b with the reference temperature to identify whether the current temperature of the electronic device 100 b is greater than the reference temperature.
[0258] The reference temperature may be a temperature to be used as a reference for distinguishing between a section in which the rotation angle changes by a large amount according to changes in the temperature of the electronic device 100b and a section in which the rotation angle changes by a small amount according to changes in the temperature of the electronic device 100b.
[0259] The reference rotation angle setting unit 910 may differently set the reference rotation angle according to whether the temperature of the electronic device 100 b is greater than the reference temperature.
[0260] The reference rotation angle may refer to a rotation angle to be used as a reference for identifying whether a rotation angle obtained by a sensor is meaningful data.
[0261] The reference rotation angle setting unit 910 may set the reference rotation angle to angle th1 based on the current temperature of the electronic device 100b being less than or equal to the reference temperature, and to angle th2 based on the current temperature being greater than the reference temperature. Angle th1 may be greater than angle th2.
[0262] The electronic device 100b can predict that the change in the rotation angle in the section where the temperature of the electronic device 100b is greater than the reference temperature will be gentle, and therefore determine that the rotation angle obtained in this section is likely to be reliable data. Therefore, when the current temperature is greater than the reference temperature, the reference rotation angle setting unit 910 can set the reference rotation angle to a low angle, so that even when the rotation angle is relatively low, the data is used to perform keystone correction.
[0263] The electronic device 100b can predict that the rotation angle will change by a large amount in a section in which the temperature of the electronic device 100b is less than or equal to the reference temperature, and set the reference rotation angle to a high angle in this section so that keystone correction is performed by using the rotation angle only when the rotation angle is relatively high.
[0264] The rotation angle determination unit 920 may receive the reference rotation angle from the reference rotation angle setting unit 910 , and receive the rotation angle from the posture estimation unit 410 .
[0265] The rotation angle determination unit 920 may compare a reference rotation angle with the rotation angle obtained as the sensing data to determine whether the rotation angle is greater than the reference rotation angle.
[0266] When the rotation angle obtained by the sensor is greater than the reference rotation angle, the rotation angle determination unit 920 may recognize the rotation angle as meaningful data for image correction and transmit the recognized data to the image correction unit 930 .
[0267] The rotation angle determination unit 920 may not consider the rotation angle if the rotation angle is less than or equal to the reference rotation angle. For example, when the rotation angle is less than or equal to the reference rotation angle, the rotation angle determination unit 920 may determine the rotation angle as 0 so that the rotation angle is not used for image correction.
[0268] The image correction unit 930 may correct the original image based on the rotation angle received from the rotation angle determination unit 920 .
[0269] The image correction unit 930 may obtain a rotation matrix R by using the pitch angle, the roll angle, and the yaw angle received from the rotation angle determination unit 920 as follows.
[0270] [Equation 7]
[0271] R=R x,φ R y,θ R z,ψ
[0272]
[0273] By using the pitch angle, roll angle, yaw angle, the shortest distance ds from the sensor to the projection surface 105, and the three-dimensional coordinates of the four vertices of the rectangular image before rotation, the image correction unit 930 can calculate the coordinates of the four vertices when the trapezoidal distortion effect occurs.
[0274] The image correction unit 930 can obtain a projection matrix P by using the pitch angle, the roll angle, the yaw angle, and the distance between the distance sensor 103 and the projection surface 105. The projection matrix P can be modeled as a homography. The projection matrix P is a matrix representing the relationship between points on a virtual plane without warping and points on an actual projection surface, and can be obtained based on the pixel positions of the four vertices of the image to be projected onto the projection surface 105 and the estimated pixel positions of the four vertices on the projection surface 105 when the trapezoidal distortion effect occurs.
[0275] The image correction unit 930 may obtain the transformation matrix W by using the pitch angle, the roll angle, the yaw angle, and the distance between the distance sensor 103 and the projection surface 105. The image correction unit 930 may obtain the transformation matrix W for outputting an image that is as rectangular as possible onto the projection surface by pre-warping the image to be projected onto the projection surface using the projection matrix.
[0276] The image correction unit 930 may perform image processing for keystone correction by warping the original image based on the projection matrix and the transformation matrix.
[0277] Fig.10 It is a diagram used to describe the keystone distortion effect that occurs according to the rotation angle.
[0278] like Figure 1 As shown in When the pitch angle θ and the rolling angle ψ are equal, the tilt of the electronic device 100a or 100b is in a normal state, and the electronic device 100a or 100b projects the original image, and displays an image without a trapezoidal distortion effect on the projection surface 105. The normal state is when the pitch angle θ, the rolling angle The state where the yaw angle ψ is 0 or less than the reference value, and refers to a state where, for example, the rotation angle between the electronic device 100a or 100b and the projection surface 105 (the angle at which the electronic device 100a or 100b is tilted) is each within the reference value. In general, the reference value may be 0, but may be set to a value other than 0 depending on the position of the electronic device 100a or 100b or the surrounding state.
[0279] refer to Fig.10 When the electronic device 100a or 100b is tilted in the x-axis direction and the rolling angle is different from a reference value (e.g., 0), the image projected onto the projection surface 105 appears in a shape 811 tilted to the right or a shape 813 tilted to the left depending on the direction in which the electronic device 100a or 100b is tilted.
[0280] The image correction unit 930 may rotate the image in a direction opposite to the direction of change in the roll angle so that the normal image 810 is displayed on the projection surface 105 .
[0281] When the electronic device 100a or 100b is tilted in the y-axis direction and the pitch angle is different from a reference value (eg, 0), the image projected onto the projection surface 105 appears in a trapezoidal shape 821 or 823 depending on the direction in which the electronic device 100a or 100b is tilted.
[0282] The image correction unit 930 may perform correction to increase the length of the upper side or to increase the length of the lower side so that the normal image 820 is displayed on the projection surface 105 .
[0283] When the electronic device 100a or 100b is tilted in the z-axis direction and the yaw angle is different from a reference value (e.g., 0), the image projected onto the projection surface 105 appears as a trapezoidal shape 831 or 833 with the left side or right side shorter than the other side, depending on the direction in which the electronic device 100a or 100b is tilted.
[0284] The image correction unit 930 may perform correction to increase the length of the left side or to increase the length of the right side so that the normal image 830 is displayed on the projection surface 105 .
[0285] Fig.11 is a diagram for describing image warping due to a keystone effect and effects of keystone correction.
[0286] Fig.11 (a) is a diagram showing that an image is warped due to a keystone effect.
[0287] refer to Fig.11 (a), when the electronic device 100a or 100b projects an original image frame 1110 having a rectangular shape, an image frame 1111 warped by a keystone effect may be displayed on the projection surface 105. A pixel x1 in the original image 1110 is displayed at a position x2 in the warped image frame 1111 on the projection surface 105, which is determined by the projection matrix.
[0288] Fig.11 (b) is a diagram for describing a case in which image processing is performed by keystone correction.
[0289] The image correction unit 930 may convert the original image 1120 into a corrected image 1131 in order to correct a trapezoidal distortion effect.
[0290] The processor 110 may control the projection unit 150 to project an image frame 1130 including a corrected image 1131 generated by the image correction unit 930. Therefore, even when a trapezoidal distortion effect occurs on the projection surface 105 and the image frame 1130 is warped, the corrected image 1131 appears as a rectangular projection image 1140. The position of one pixel x1 in the original image 1120 is located at a point x2 in the corrected image 1131 through the projection matrix P and the scaling matrix S, and is located at a point x3 in the image 1140 displayed on the projection surface 105.
[0291] The processor 110 or the image correction unit 930 can identify whether the image to be actually displayed is within the preset area of the projection surface 105 by comparing the coordinates of the four vertices of the image to be displayed on the projection surface 105 with the coordinates of the four vertices of the image displayed on the projection surface 105 at the same distance in a normal state (i.e., in a state in which the pitch angle, roll angle, and yaw angle are all 0 or fixed to a reference value).
[0292] When the image projected onto the projection surface 105 exceeds a preset area in the projection surface 105 , the processor 110 may project the image within the preset area by controlling the size of the keystone-corrected image. For example, the preset area may be an area within the size range of the projection surface 105 .
[0293] When the projected image is within the preset area, the processor 110 or the image correction unit 930 sets the scaling parameter so that the size of the image is maximized within the range. In this case, when there is user manipulation, the image correction unit 930 can reduce the size of the image by adjusting the scaling parameter.
[0294] Fig.12 is a flowchart illustrating an operation procedure of the electronic device 100a or 100b according to an embodiment of the present disclosure.
[0295] refer to Fig.12 , the electronic device 100a or 100b may obtain a rotation angle based on the original data (operation 1210).
[0296] The electronic device 100a or 100b may obtain three-axis acceleration values obtained by using the acceleration sensor 101 as raw data, and obtain a roll angle and a pitch angle based on these values.
[0297] The electronic device 100 a or 100 b may obtain the yaw angle based on raw data obtained by using the distance sensor 103 .
[0298] The electronic device 100a or 100b may identify whether the sensor is stable (operation 1220).
[0299] The electronic device 100a or 100b may identify whether the sensor is stable based on at least one of the raw data or the rotation angle.
[0300] For example, the electronic device 100a or 100b may identify whether the acceleration sensor 101 is stable by comparing the current acceleration value obtained from the acceleration sensor 101 with the acceleration value k samples ago to identify whether the difference therebetween is greater than or equal to a preset threshold.
[0301] Alternatively, the electronic device 100a or 100b may identify whether the acceleration sensor 101 is stable by comparing a difference between a current roll angle calculated based on raw data obtained from the acceleration sensor 101 and a roll angle k samples ago with a preset threshold.
[0302] The electronic device 100a or 100b may perform the operation of comparing the difference between the roll angles with the threshold a preset number of times, and recognize that the acceleration sensor 101 is stable based on the number of times the difference between the roll angles is less than the threshold being greater than a preset value (e.g., 5 or more).
[0303] When it is identified that the sensor is stable, the electronic device 100a or 100b may identify whether the rotation angle is greater than or equal to the reference rotation angle (operation 1230).
[0304] When the rotation angle is greater than or equal to the reference angle, the electronic device 100a or 100b may perform image processing for keystone correction based on the rotation angle (operation 1240).
[0305] The electronic device 100a or 100b may not consider the rotation angle when performing keystone correction unless the rotation angle is greater than or equal to the reference angle. For example, when the pitch angle and the roll angle of the rotation angle are respectively greater than or equal to the reference rotation angle, but the yaw angle is less than the reference rotation angle, the electronic device 100a or 100b may perform image processing for keystone correction by considering only the pitch angle and the roll angle without considering the yaw angle.
[0306] Fig.13 is a flowchart illustrating an operation procedure of the electronic device 100a or 100b according to an embodiment of the present disclosure.
[0307] refer to Fig.13 , the electronic device 100a or 100b may obtain the temperature of the electronic device 100a or 100b (operation 1310).
[0308] The electronic device 100a or 100b may include a temperature sensor, and the electronic device 100a or 100b may obtain the current temperature of the electronic device 100a or 100b in real time by using the temperature sensor.
[0309] The electronic device 100 a or 100 b may obtain the reference temperature from, for example, the memory 120 .
[0310] The electronic device 100a or 100b may compare the temperature of the electronic device 100a or 100b with a reference temperature (operation 1320).
[0311] Based on determining that the temperature of the electronic device 100a or 100b is less than or equal to the reference temperature, the electronic device 100a or 100b may set the reference rotation angle to the angle th1 (operation 1330).
[0312] Based on determining that the temperature of the electronic device 100a or 100b is greater than the reference temperature, the electronic device 100a or 100b may set the reference rotation angle to angle th2 (operation 1330). The angle th1 may be greater than the angle th2.
[0313] The electronic device 100a or 100b may identify whether the rotation angle is greater than or equal to a reference rotation angle (operation 1350).
[0314] The reference rotation angle may be differently set in operations 1330 and 1340 according to the temperature of the electronic device 100 a or 100 b .
[0315] Based on determining that the rotation angle is not greater than or equal to the reference rotation angle, the electronic device 100a or 100b may set the rotation angle to 0 (operation 1360).
[0316] Based on determining that the rotation angle is greater than or equal to the reference rotation angle, the electronic device 100a or 100b may perform image processing for keystone correction based on the rotation angle (operation 1370).
[0317] For example, when the temperature of the electronic device 100a or 100b is greater than the reference temperature and the roll angle is greater than or equal to the angle th2, the electronic device 100a or 100b may perform image processing based on the roll angle.
[0318] For example, when the temperature of the electronic device 100a or 100b is greater than the reference temperature and the roll angle is less than the angle th2, the electronic device 100a or 100b may set the roll angle to zero.
[0319] For example, when the temperature of the electronic device 100a or 100b is less than the reference temperature and the pitch angle is greater than or equal to the angle th1, the electronic device 100a or 100b may perform image processing based on the pitch angle.
[0320] For example, when the temperature of the electronic device 100a or 100b is less than the reference temperature and the pitch angle is less than the angle th1, the electronic device 100a or 100b may set the rotation angle to zero.
[0321] Fig.14 is a flowchart illustrating an operation procedure of the electronic device 100a or 100b according to an embodiment of the present disclosure.
[0322] refer to Fig.14 , the electronic device 100a or 100b may obtain raw data by using a sensor. The electronic device 100a or 100b may obtain an acceleration sensor value by using the acceleration sensor 101 (operation 1411). The electronic device 100a or 100b may obtain an acceleration sensor value of each axis of the x-axis, the y-axis, and the z-axis.
[0323] The electronic device 100a or 100b may obtain a distance sensor value by using the distance sensor 103 (operation 1412). The electronic device 100a or 100b may obtain a distance sensor value by using two distance sensors 103, respectively.
[0324] The electronic device 100a or 100b may obtain a temperature sensor signal by using the temperature sensor 131 (operation 1413).
[0325] The electronic device 100a or 100b may perform an operation of removing noise from the sensor value. The electronic device 100a or 100b may filter the sensor value to remove the noise included in the sensor value. The electronic device 100a or 100b may filter the sensor value or sensor signal obtained from the sensor by using, for example, a low-pass filter and / or a moving average.
[0326] The electronic device 100a or 100b may filter the acceleration sensor value (operation 1414). The electronic device 100a or 100b may obtain the acceleration sensor value by using the acceleration sensor 101 within a preset time period, and then remove noise from the acceleration sensor value obtained within the preset time period. Alternatively, the electronic device 100a or 100b may filter the acceleration sensor value obtained by using the acceleration sensor 101 in real time.
[0327] The electronic device 100a or 100b may filter the distance sensor value (operation 1415). The electronic device 100a or 100b may obtain the distance sensor value by using the distance sensor 103 within a preset time period and then remove noise from the distance sensor value obtained within the preset time period, or may filter the distance sensor value obtained by using the distance sensor 103 in real time.
[0328] The electronic device 100a or 100b may filter the temperature sensor signal (operation 1416). The electronic device 100a or 100b may obtain the temperature sensor signal by using the temperature sensor 131 within a preset time period, and remove noise by performing, for example, low-pass filtering and / or moving average on the temperature sensor signal obtained within the preset time period. Alternatively, the electronic device 100a or 100b may filter the temperature sensor signal in real time.
[0329] The electronic device 100a or 100b may determine whether the electronic device 100a or 100b is moving based on at least one of the acceleration sensor value or the distance sensor value (operation 1417).
[0330] The electronic device 100a or 100b may identify whether the electronic device 100a or 100b is moving by using the acceleration sensor value at a specific time point and the acceleration sensor value at a time point before the specific time point. The electronic device 100a or 100b may determine whether the electronic device 100a or 100b is moving by obtaining the difference between the acceleration sensor value at a specific time point and the acceleration sensor value at a time point before the specific time point with respect to the acceleration sensor value obtained for each of the x-axis, the y-axis, and the z-axis, and by normalizing the difference. When the normalized value is greater than a threshold value, the electronic device 100a or 100b may determine that the electronic device 100a or 100b is moving.
[0331] With respect to the distance sensor values of the two distance sensors 103, the electronic device 100a or 100b may receive the distance sensor value at a specific time point and the distance sensor value at a time point before the specific time point multiple times, and compare the current measurement value with the previous measurement value. The electronic device 100a or 100b may determine whether the electronic device 100a or 100b is moving by obtaining the difference between the distance sensor value at the specific time point and the distance sensor value at the time point before the specific time point and normalizing the difference. When the normalized value is greater than the threshold value, the electronic device 100a or 100b may determine that the electronic device 100a or 100b is moving.
[0332] Based on the determination that the electronic device 100a or 100b is not moving, the electronic device 100a or 100b may obtain a rotation angle based on the raw data (operation 1418). The raw data may include at least one of a filtered acceleration sensor value or a filtered distance sensor value.
[0333] The electronic device 100a or 100b may obtain at least one of a pitch angle or a roll angle of the electronic device 100a or 100b with respect to the gravity direction by using the filtered acceleration sensor value.
[0334] The electronic device 100 a or 100 b may obtain a yaw angle of the electronic device 100 a or 100 b relative to the projection surface 105 by using the filtered distance sensor value.
[0335] Based on the determination that the electronic device 100a or 100b is moving, the electronic device 100a or 100b may perform image processing based on previous setting values (operation 1421). The previous setting values may include parameter values previously used to perform image processing for keystone correction.
[0336] For example, when the electronic device 100a or 100b is moving by the user manipulating its position or projection angle or by the electronic device 100a or 100b automatically performing a function such as a zoom function, the electronic device 100a or 100b can prevent its operation from being delayed by performing image processing based on previously set values and projecting the processed image.
[0337] Based on determining that the electronic device 100a or 100b is not moving, the electronic device 100a or 100b may identify whether the sensor is stable (operation 1419). The electronic device 100a or 100b may identify whether the sensor is stable based on the raw data or a rotation angle obtained based on the raw data.
[0338] The electronic device 100a or 100b can identify whether the sensor is stable by identifying whether the difference between the value at time point t and the value at time point tk in the raw data is less than or equal to a threshold. Alternatively, the electronic device 100a or 100b can identify whether the sensor is stable by identifying whether the difference between the value at time point t and the value at time point tk of the rotation angle obtained based on the raw data is less than or equal to a threshold.
[0339] When the difference between the value at time point t and the value at time point tk in at least one of the raw data or the rotation angle is less than or equal to the threshold a preset number of times, the electronic device 100a or 100b may recognize that the sensor is stable.
[0340] Based on determining that the sensor is unstable, the electronic device 100a or 100b may determine whether the time period elapsed from the start-up time point is longer than the threshold time period (operation 1420). When the time period elapsed from the time point when the electronic device 100a or 100b is started is within the threshold time period, the electronic device 100a or 100b may continuously determine whether the sensor is stable.
[0341] In the electronic device 100a or 100b, the light source starts to generate heat at the time point of activation and the temperature changes within a certain period of time or until the temperature reaches a certain temperature. Therefore, in many cases, the time point at which the sensor is affected by the temperature change of the electronic device 100a or 100b is before the threshold time period has passed from the time point of activation. Therefore, until the threshold time period has passed from the time point at which the electronic device 100a or 100b is activated, the electronic device 100a or 100b can continuously determine whether the sensor is stable.
[0342] Based on the determination that the sensor is unstable even when the threshold period of time has elapsed from the time point of activation, the electronic device 100a or 100b may perform the next operation without performing stability determination.
[0343] When a threshold period of time has elapsed from the time point of activation or based on a determination that the sensor is stable, the electronic device 100a or 100b may determine whether the temperature of the electronic device 100a or 100b is greater than a reference temperature (operation 1422).
[0344] The electronic device 100 a or 100 b may obtain the temperature of the electronic device 100 a or 100 b from the temperature sensor 131 and obtain the reference temperature from the memory 120 .
[0345] Based on the determination that the temperature of the electronic device 100a or 100b is not greater than the reference temperature, the electronic device 100a or 100b may set the reference rotation angle to the angle th1 (operation 1423).
[0346] Based on determining that the temperature of the electronic device 100a or 100b is greater than the reference temperature, the electronic device 100a or 100b may set the reference rotation angle to an angle th2 (operation 1424).
[0347] The electronic device 100a or 100b may determine whether the rotation angle is greater than or equal to a reference rotation angle (operation 1425).
[0348] Based on determining that the rotation angle is not greater than or equal to the reference rotation angle, the electronic device 100a or 100b may set the rotation angle to 0 (operation 1426).
[0349] Based on determining that the rotation angle is greater than or equal to the reference rotation angle, the electronic device 100a or 100b may perform image processing for keystone correction based on the rotation angle (operation 1427).
[0350] The electronic device and its operating method can be implemented as a recording medium including computer executable instructions such as computer executable program modules. Computer readable media can be any available media that can be accessed by a computer, and can include volatile or non-volatile media and removable or non-removable media. In addition, computer readable media can include computer storage media and communication media. Computer storage media include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules or other data. Communication media typically include computer readable instructions, data structures, program modules, other data or other transmission mechanisms for modulated data signals, and examples thereof include any information transmission media.
[0351] In addition, the above-mentioned electronic device and its operating method can be implemented as a computer program product including a computer-readable recording medium / storage medium, on which a program for implementing the operating method of the electronic device is recorded, and the operating method of the electronic device includes: obtaining the rotation angle of the electronic device based on raw data obtained by using a sensor included in the electronic device, identifying whether the sensor is stable based on at least one of the raw data or the rotation angle, in response to identifying that the sensor is stable, identifying whether the rotation angle is greater than or equal to a reference rotation angle, and in response to the rotation angle being greater than or equal to the reference rotation angle, performing image processing for keystone correction based on the rotation angle.
[0352] The machine-readable storage medium may be provided in the form of a non-transitory storage medium. The term "non-transitory storage medium" refers to a tangible device and does not include signals (e.g., electromagnetic waves), and the term "non-transitory storage medium" does not distinguish between a case where data is semi-permanently stored in the storage medium and a case where data is temporarily stored. For example, a non-transitory storage medium may include a buffer that temporarily stores data.
[0353] The method may be included in a computer program product and then provided. The computer program product may be traded as a commodity between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc ROM (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) through an application store or directly distributed online between two user devices (e.g., smart phones), in which case at least a portion of the computer program product (e.g., a downloadable app) may be temporarily stored in a machine-readable storage medium (such as a memory of a manufacturer's server, an application store's server, or a relay server).
Claims
1. An electronic device (100a, 100b), comprising: A sensing unit (130), the sensing unit comprising a sensor; a memory (120) storing one or more instructions; and one or more processors (110) configured to execute the one or more instructions stored in the memory to obtain a rotation angle of the electronic device based on raw data obtained from the sensor, identifying whether the sensor is stable based on a difference in at least one of the raw data or the rotation angle within a preset time period, In response to identifying that the sensor is stable, identifying whether the rotation angle is greater than or equal to a reference rotation angle, and In response to identifying that the rotation angle is greater than or equal to the reference rotation angle, image processing for keystone correction is performed based on the rotation angle.
2. The electronic device according to claim 1, in, The sensor comprises an acceleration sensor (101), The one or more processors obtain a rotation angle of the electronic device relative to a gravity direction based on raw data obtained from the acceleration sensor; The rotation angle of the electronic device relative to the gravity direction includes at least one of a pitch angle or a roll angle of the electronic device relative to the gravity direction.
3. The electronic device according to claim 2, in, The sensor further comprises a distance sensor (103) facing the projection surface, The one or more processors obtain a rotation angle of the electronic device relative to the projection surface based on raw data obtained from the distance sensor, and Wherein, the rotation angle of the electronic device relative to the projection surface includes a yaw angle.
4. The electronic device according to claim 3, wherein: The one or more processors correct the image projected onto the projection surface by using at least one of the pitch angle, the roll angle, or the yaw angle.
5. The electronic device according to any one of claims 1 to 4, wherein: The one or more processors identify whether the sensor is stable by identifying whether a difference between a value of at least one of the raw data or the rotation angle at time point t and a value at time point tk is less than or equal to a threshold.
6. The electronic device according to claim 5, wherein: The one or more processors recognize that the sensor is stable in response to recognizing that the difference is less than or equal to the threshold N times or more (where N is a natural number greater than or equal to 2).
7. The electronic device according to any one of claims 1 to 6, wherein: The one or more processors identify a motion of the electronic device based on the raw data, and In response to recognizing that there is no movement of the electronic device based on the raw data obtained by using the sensor, the rotation angle of the electronic device is obtained.
8. The electronic device according to any one of claims 1 to 7, in, The sensor also includes a temperature sensor (131), and The one or more processors determine the reference rotation angle based on the temperature of the electronic device obtained from the temperature sensor.
9. The electronic device according to claim 8, in, The one or more processors identify whether the temperature of the electronic device obtained from the temperature sensor is greater than a reference temperature, Based on the temperature of the electronic device being less than or equal to the reference temperature, setting the reference rotation angle to an angle th1; Based on the temperature of the electronic device being greater than the reference temperature, the reference rotation angle is set to angle th2, and the angle th1 is greater than the angle th2.
10. The electronic device according to any one of claims 1 to 9, wherein: The one or more processors are further configured to execute the one or more instructions to set the rotation angle to zero in response to the rotation angle being less than the reference rotation angle.
11. An operating method of an electronic device, the operating method comprising: Obtaining a rotation angle of the electronic device based on raw data obtained from the sensor; identifying whether the sensor is stable based on a difference in at least one of the raw data or the rotation angle within a preset time period; In response to identifying that the sensor is stable, identifying whether the rotation angle is greater than or equal to a reference rotation angle; as well as In response to identifying that the rotation angle is greater than or equal to the reference rotation angle, image processing for keystone correction is performed based on the rotation angle.
12. The operating method according to claim 11, in, The sensor includes an acceleration sensor; Wherein, obtaining the rotation angle of the electronic device includes obtaining the rotation angle of the electronic device relative to the direction of gravity based on the raw data obtained from the acceleration sensor, The rotation angle of the electronic device relative to the gravity direction includes at least one of a pitch angle or a roll angle of the electronic device relative to the gravity direction.
13. The operating method according to claim 12, in, The sensor also includes a distance sensor facing the projection surface, Wherein, obtaining the rotation angle of the electronic device includes obtaining the rotation angle of the electronic device relative to the projection surface based on the raw data obtained from the distance sensor, and Wherein, the rotation angle of the electronic device relative to the projection surface includes a yaw angle.
14. The operating method according to claim 13, wherein: Performing image processing for keystone correction includes correcting the image projected onto the projection surface by using at least one of the pitch angle, the roll angle, or the yaw angle. 15 . A non-transitory computer-readable recording medium having recorded thereon a program for causing a computer to execute the operating method according to claim 11 .