WO2018074893A1 - 디스플레이 장치 및 디스플레이 장치의 영상 처리 방법 - Google Patents
디스플레이 장치 및 디스플레이 장치의 영상 처리 방법 Download PDFInfo
- Publication number
- WO2018074893A1 WO2018074893A1 PCT/KR2017/011676 KR2017011676W WO2018074893A1 WO 2018074893 A1 WO2018074893 A1 WO 2018074893A1 KR 2017011676 W KR2017011676 W KR 2017011676W WO 2018074893 A1 WO2018074893 A1 WO 2018074893A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- information
- shake
- viewing area
- camera
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 238000012937 correction Methods 0.000 claims description 125
- 238000009499 grossing Methods 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 23
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 24
- 210000003128 head Anatomy 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 8
- 230000015654 memory Effects 0.000 description 4
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 208000003464 asthenopia Diseases 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 230000006641 stabilisation Effects 0.000 description 2
- 238000011105 stabilization Methods 0.000 description 2
- RMFAWIUWXUCNQL-UHFFFAOYSA-N 1-[2-[[2-hydroxy-3-(3-methoxyphenoxy)propyl]amino]ethylamino]-3-(3-methoxyphenoxy)propan-2-ol;dihydrochloride Chemical compound Cl.Cl.COC1=CC=CC(OCC(O)CNCCNCC(O)COC=2C=C(OC)C=CC=2)=C1 RMFAWIUWXUCNQL-UHFFFAOYSA-N 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 210000001747 pupil Anatomy 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/327—Calibration thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/20—Linear translation of whole images or parts thereof, e.g. panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/63—Control of cameras or camera modules by using electronic viewfinders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6811—Motion detection based on the image signal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20201—Motion blur correction
Definitions
- the present disclosure relates to a display apparatus and an image processing method of the display apparatus, and more particularly, to a display apparatus for displaying a VR (Virtual Reality) image and an image processing method of the display apparatus.
- a VR Virtual Reality
- an immersive display (Immersion Display) market having a large field of view (FOV) such as a head mounted device (HMD) is rapidly growing.
- FOV field of view
- HMD head mounted device
- the HMD is a device that is displayed on the user's head and displays an image.
- the HMD is also called a face mounted display (FMD) because the display is placed near the wearer's eyes.
- the HMD may display a virtual reality (VR) image content such as 360 degree image content to implement visual virtual reality.
- VR virtual reality
- a user may wear an HMD that displays VR image content and face his / her face in a desired direction, so that the user can watch the image of the area that he / she wants to see in the entire VR image as if it were a real environment. You can feel as if it exists in space.
- VR video contents are produced through a separate camera for producing VR video contents such as a 360 degree camera, not a general camera.
- a 360 degree camera is also spread for personal use, so that an individual can produce VR (Virtual Reality) content. It became.
- the shake prevention technology is not applied to the 360 degree camera, which is a problem. That is, when viewing VR image contents produced by a 360 degree camera through an immersive display device such as an HMD, a user may feel eye strain and burden due to shaking of the image. In particular, since the HMD wearer views the image through the entire field of view, the shaking of the VR image is more problematic than when viewing a normal image.
- the present disclosure has been made to solve the above-described problem, and an object of the present disclosure is to provide a display apparatus and an image processing method of the display apparatus capable of displaying a virtual reality (VR) image with reduced shaking.
- VR virtual reality
- an image processing method of a display apparatus includes analyzing a plurality of image frames constituting a VR image to determine shaking information of a camera photographing the VR image. Calculating a shake correction value of the image corresponding to the viewing area of the user in the VR image based on the shake information of the camera, and adjusting the viewing region based on the shake correction value, and viewing the adjusted viewing in the VR image. Displaying an image corresponding to the region.
- the determining of the shaking information of the camera may include classifying each of the plurality of image frames into a plurality of regions, detecting a feature point for each region corresponding to each other in the plurality of image frames, and the amount of change between the detected feature points. And determining shaking information of the camera based on the determination.
- the shaking information of the camera, the motion information in the x-axis direction, the motion information in the y-axis direction, the motion information in the z-axis direction, the yaw rotation motion information, the pitch (pitch) of the camera based on a predetermined direction ) May include at least one of rotation motion information and roll rotation motion information.
- the calculating of the shake correction value may include converting shake information of the camera into shake information of an image corresponding to the viewing area based on a motion state of the display apparatus determining the viewing area. Computing the shake correction value by using the shake information of the image corresponding to the.
- the calculating of the shake correction value may include: smoothing shake information of the image, calculating a difference value between shake information of the image and shake information of the smoothed image, and calculating the difference value. And calculating the shake correction value by converting the rotation value of the sphere.
- the shake information of the image may include two-axis shake information including x-axis shake information and y-axis shake information of the image corresponding to the viewing area, or x-axis shake information and y-axis shake of the image corresponding to the viewing area. It may be three-axis shake information including information and rotation shake information.
- the displaying may include adjusting the viewing area by moving the viewing area by the shake correction value in the VR image, and displaying an image corresponding to the moved viewing area.
- the shake information may be determined using analysis results of the plurality of image frames and shake information obtained through a sensor included in the camera.
- the method may further include displaying a UI for executing a shake correction mode for correcting a shake of an image corresponding to the viewing area of the user.
- the calculating of the shake correction value may include: when the shake correction mode is executed, The shake correction value can be calculated.
- the method may further include displaying a shake correction degree adjusting UI for adjusting a shake correction degree of the image corresponding to the viewing area of the user, wherein the smoothing may be performed according to a user operation through the shake correction degree adjusting UI.
- the smoothing intensity of the shake information of the image may be adjusted.
- the display device for displaying an image corresponding to the user viewing area in the VR image and a plurality of image frames constituting the VR image by analyzing the image of the camera Determine the shake information, calculate a shake correction value of the image corresponding to the viewing area based on the shake information of the camera, adjust the viewing area based on the shake correction value, and adjust the adjusted value in the VR image.
- a processor controlling the display to display an image corresponding to the viewing area.
- the processor may divide each of the plurality of image frames into a plurality of regions, detect a feature point for each region corresponding to each other in the plurality of image frames, and shake information of the camera based on a change amount between the detected feature points. Can be determined.
- the shaking information of the camera, the motion information in the x-axis direction, the motion information in the y-axis direction, the motion information in the z-axis direction, the yaw rotation motion information, the pitch (pitch) of the camera based on a predetermined direction ) May include at least one of rotation motion information and roll rotation motion information.
- the processor may convert shaking information of the camera into shaking information of an image corresponding to the viewing area based on a motion state of the display apparatus determining the viewing area, and shake the shaking of the image corresponding to the viewing area.
- the shake correction value may be calculated using the information.
- the processor may be further configured to smooth the shake information of the image, calculate a difference value between the shake information of the image and the shake information of the smoothed image, and convert the difference value into a rotation value of a sphere.
- the correction value can be calculated.
- the shake information of the image may include two-axis shake information including x-axis shake information and y-axis shake information of the image corresponding to the viewing area, or x-axis shake information and y-axis shake of the image corresponding to the viewing area. It may be three-axis shake information including information and rotation shake information.
- the processor may control the display to adjust the viewing area by moving the viewing area by the shake correction value in the VR image, and to display an image corresponding to the moved viewing area.
- the processor may determine the shake information by using analysis results of the plurality of image frames and shake information acquired through a sensor included in the camera.
- the processor may control the display to display a UI for executing a shake correction mode for correcting a shake of an image corresponding to the viewing area of the user, and calculates the shake correction value when the shake correction mode is executed. can do.
- the processor may control the display to display a shake correction degree adjusting UI for adjusting a shake correction degree of the image corresponding to the viewing area of the user, and the image according to a user manipulation through the shake correction degree adjusting UI.
- the smoothing intensity of the shake information can be adjusted.
- the processor may convert the shaking information of the camera into biaxial shaking information of an image corresponding to the viewing area based on the motion state of the display apparatus determining the viewing area, and then may correspond to the viewing area.
- the shake correction value may be calculated using biaxial shake information of.
- the two-axis shake information may include x and y-axis displacement values between a plurality of frames representing an image corresponding to the viewing area, and the processor may smooth the two-axis shake information and The difference value between the smoothed 2-axis shake information and the 2-axis shake information may be calculated, and the shake correction value may be calculated by converting the difference value into a spherical rotation value.
- the processor may control the display to adjust the viewing area by moving the viewing area by the shake correction value in the VR image, and to display an image corresponding to the moved viewing area.
- the processor may determine the shake information by using analysis results of the plurality of image frames and shake information acquired through a sensor included in the camera.
- the processor may control the display to display a UI for executing a shake correction mode for correcting a shake of an image corresponding to the viewing area of the user, and calculates the shake correction value when the shake correction mode is executed. can do.
- the processor may control the display to display a shake correction degree adjusting UI for adjusting a shake correction degree of an image corresponding to the viewing area of the user, and according to a user manipulation through the shake correction degree adjusting UI.
- the smoothing strength of the axis shake information can be adjusted.
- a computer-readable recording medium including a program for executing the image processing method of the display device according to an embodiment of the present disclosure
- the image processing method of the display device a plurality of image frames constituting a VR image Determining shake information of the camera capturing the VR image, calculating shake correction value of an image corresponding to a viewing area of the user in the VR image based on the shake information of the camera, and shaking correction Adjusting the viewing area based on a value, and displaying an image corresponding to the adjusted viewing area in the VR image.
- the display device may display a virtual reality (VR) image with reduced shaking.
- VR virtual reality
- FIG. 1 is a diagram illustrating a display device according to various embodiments of the present disclosure
- 2A to 2C are exemplary views in which a VR image and a user views a VR image
- FIG. 3 is a block diagram of a display apparatus according to an embodiment of the present disclosure.
- 4A and 4B are diagrams for describing a method of determining shaking information of a camera, according to an embodiment of the present disclosure
- 5A to 5D are diagrams for describing a method of calculating a shake correction value according to an exemplary embodiment of the present disclosure
- FIG. 6 is a diagram for describing a concept in which a shake correction value is applied to a VR image according to one embodiment of the present disclosure
- FIG. 7 is a detailed block diagram illustrating a configuration of a display apparatus according to another exemplary embodiment.
- FIG. 8 is an exemplary view of a UI screen according to an embodiment of the present disclosure.
- FIG. 9 is a flowchart illustrating an image processing method of a display apparatus according to an exemplary embodiment.
- module In the embodiments of the present invention, terms such as “module”, “unit”, “part”, and the like are terms used to refer to a component that performs at least one function or operation, and the components are referred to as hardware or software. It may be implemented or a combination of hardware and software. In addition, a plurality of “modules”, “units”, “parts”, etc. are integrated into at least one module or chip, except that each needs to be implemented with a particular specific hardware, and is at least one processor. It may be implemented as (not shown).
- a part when a part is connected to another part, this includes not only a direct connection but also an indirect connection through another medium.
- the meaning that a part includes a certain component means that it may further include other components, without excluding other components, unless specifically stated otherwise.
- FIG. 1 is a view illustrating an implementation form and appearance of a display apparatus according to an exemplary embodiment.
- the display device may be implemented as a band for wearing on a head of a user, various user input interfaces for controlling the operation of the HMD, and an integrated HMD in which the display is configured as a single device, or in a detachable HMD without a display. It can be implemented as a display device of the type to provide a display in combination.
- FIG. 1A illustrates a state in which a user wears a display device 100-1 implemented as an integrated HMD on a head.
- the display apparatus 100-1 may include a band to fix the display apparatus 100-1 to a user's head, and a display is included in the HMD itself.
- such an integrated HMD type display device 100-1 is connected to an external device such as a notebook computer or a personal computer (PC), and is processed and provided by an external device as described below. Can be displayed.
- an external device such as a notebook computer or a personal computer (PC)
- PC personal computer
- the integrated HMD type display apparatus 100-1 may include a storage unit (not shown) that stores a VR image or a communication unit (not shown) capable of receiving a VR image by streaming. Also provided with a processor capable of processing a VR image (not shown) may operate in the form of a stand alone device (Stand alone).
- the display apparatus 100-1 when the display apparatus 100-1 is connected to a notebook or a PC and operates, the display apparatus 100-1 according to an embodiment of the present disclosure includes a notebook or PC connected to the display apparatus 100-1. It can be a concept.
- FIG. 1B illustrates an example of a display apparatus 100-2 implemented to be used in combination with a detachable HMD.
- the display apparatus 100-2 may be implemented as a smartphone, and may be coupled to the main body 10 of the HMD to provide a display.
- the display device 100-2 used in combination with a detachable HMD is not only a smart phone but also a tablet PC (Tablet Personal Computer), a mobile phone, an e-book reader, and a PDA (Personal Digital).
- the display device may be implemented as various types of display devices including a display, such as an assistant, a portable multimedia player (PMP), an MP3 player, a navigation, a digital camera, and the like.
- the display apparatuses 100-1 and 100-2 refer to the integrated HMD 100-1 or both the display apparatuses 100-2 used in combination with the detachable HMD.
- the user may wear the display devices 100-1 and 100-2 and watch the VR image.
- 2 illustrates an example of a VR image and a situation when a user views a VR image.
- the VR image may be a panorama image or a 360 degree image which may secure a 360 degree foreground view, and may be an image photographed by a 360 degree camera, but is not limited thereto.
- 2A illustrates an example of a VR image in an ERP (Equirectangular Projection) format.
- the VR image may include a 360-degree panoramic view of the front, rear, left, and right of the camera based on a specific position (eg, front) of the camera at the time of capturing.
- the VR image may be generated by photographing different directions using a 360 degree camera including a plurality of photographing units and stitching the photographed image.
- the present invention is not limited thereto, and specific details of generating the VR image by the 360 degree camera deviate from the gist of the present disclosure.
- the user when the user wears the display apparatuses 100-1 and 100-2 and watches a VR image, the user does not view the entire VR image, that is, the entire 360-degree image as shown in FIG. 2A, but the user of the entire VR image. You can see images of some areas as much as the field of view, and you can see images of other areas by moving your head.
- the VR image as shown in FIG. 2A is coated on the sphere shape as shown in FIG. 2B, and the user is located at the center of the sphere and moves in a specific direction. It feels like you're watching a VR video.
- the display apparatuses 100-1 and 100-2 may display as much as an area corresponding to the viewing angle of the person with respect to the direction of the user's viewing in the entire VR image. By displaying the image of the position changed by the movement, the user can feel as if in the real world.
- the display apparatuses 100-1 and 100-2 may display an image of an area corresponding to the viewing area of the user in the VR image.
- the viewing area may be continuously changed according to the user's movement in the front, rear, left, right, up, and down directions, and the display apparatuses 100-1 and 100-2 may correspond to the changed viewing area.
- An image can be displayed.
- the anti-shake technology is not applied to the 360-degree camera, when there is a shake of the camera when the VR image as described above is produced, that is, when shooting a VR image through the 360-degree camera, Shaking or shaking is reflected in the VR image as it is, and watching such a shaking VR image causes eyestrain or strain on the user.
- the display apparatuses 100-1 and 100-2 analyze the VR images to be displayed, determine shaking information of the camera photographing the VR image, and determine the shaking information of the camera.
- the user is a VR (Virtual Reality) image is reduced shake You can watch.
- the display apparatus 100 includes a display 110 and a processor 120.
- the display 110 may display various images.
- the image may be an image of various formats such as text, still image, moving image, and graphical user interface (GUI).
- GUI graphical user interface
- the display 110 may display a VR (Virtual Reality) image.
- the VR image may be a video or may include an image including a plurality of still images continuously photographed by a predetermined number.
- the display 110 may display an image corresponding to the viewing area of the user in the VR image under the control of the processor 120.
- the display 110 is a display of various types such as liquid crystal display (LCD), organic light emitting diodes (OLED), active-matrix organic light-emitting diode (AM-OLED), plasma display panel (PDP), and the like. Can be implemented.
- LCD liquid crystal display
- OLED organic light emitting diodes
- AM-OLED active-matrix organic light-emitting diode
- PDP plasma display panel
- the processor 120 controls the overall operation of the display apparatus 100.
- the processor 120 may determine shaking information of the camera photographing the VR image by analyzing a plurality of image frames constituting the VR image.
- the VR image may include a plurality of image frames over time. Therefore, the processor 120 may determine the shaking information of the camera photographing the VR image by analyzing the plurality of image frames.
- the analyzed VR image may be an ERP (Equirectangular Projection) format, but is not limited thereto.
- ERP Equirectangular Projection
- the processor 120 divides each of the plurality of image frames constituting the VR image into a plurality of regions, detects feature points for each region corresponding to each other, and determines shaking information of the camera based on the amount of change of the detected feature points. Can be.
- the processor 120 may divide each of the plurality of image frames into a plurality of areas such as front, rear, left, and right based on the photographing direction of the camera.
- the processor 120 may detect a feature point for each of the divided regions for each of the plurality of image frames. Since a specific method of detecting feature points in an image is irrelevant to the gist of the present disclosure, detailed description thereof will be omitted.
- the processor 120 may calculate the amount of change of the feature points between the plurality of frames, for example, a motion vector, for each divided region, and determine the shaking information of the camera photographing the VR image based on this.
- the plurality of image frames may be two consecutive image frames, but is not limited thereto.
- the plurality of image frames may be a plurality of image frames selected for each predetermined number of frames.
- the shaking of the camera 50 capturing the VR image may have six motion components.
- the motion component of the camera 50 may include motion information in the x-axis direction, motion information in the y-axis direction, motion information in the z-axis direction, yaw rotation motion information, and pitch based on the front photographing unit 51.
- pitch may include rotation movement information and roll (rot) rotation movement information.
- the processor 120 may analyze the VR image of the ERP format as shown in FIG. 4B. Although only one VR image frame is illustrated in FIG. 4B, as described above, the VR image includes a plurality of image frames.
- the processor 120 may display each of the plurality of image frames constituting the VR image, as shown in FIG. 4B, with the front 410, the rear 440, the left 420, and the right 430. As described above, it is possible to determine the shaking information of the camera 50 by dividing into four areas and analyzing the movement of the image between the image frames for each of the divided four areas.
- the x-axis movement of the image in the front region 410 includes the x-axis linear movement of the camera 50 and the yaw rotation movement component of the camera 50, and in the front region 410. Since the y-axis movement of the image includes the y-axis linear movement of the camera 50 and the pitch rotational movement component of the camera 50, the processor 120 may perform an inter-image frame with respect to the front region 410.
- the x-direction motion component Front_x and the y-direction motion component Front_y may be analyzed and expressed as shown in Equation (41) of FIG. 4B.
- the remaining regions 420, 430, and 440 may also be expressed as shown in Equations 42, 43, and 44 of FIG.
- the processor 120 may determine shaking information of the camera 50 including six pieces of motion information through the following equation.
- Tx (Front_x-Back_x) / 2
- Tx is linear motion information of x-axis direction of camera 50
- Ty is linear motion information of y-axis direction of camera 50
- Tz is linear motion information of z-axis direction of camera 50
- yaw is camera Yaw rotational motion information
- pitch of 50 indicates pitch rotational motion information of the camera 50
- roll indicates roll rotational motion information of the camera 50.
- Front_x, Front_y, Back_x, Back_y, Left_x, Left_y, Right_x, Right_y represent the x- and y-axis movement components of the front, rear, left, and right regions 410, 440, 420, and 430 of the VR image.
- the processor 120 may determine the shaking information of the camera photographing the VR image by analyzing the VR image.
- FIG. 4 is only one example, and the example of determining the shaking information of the camera by analyzing the VR image is not limited thereto.
- the processor 120 divides the plurality of image frames constituting the VR image into four or less regions or five or more regions, analyzes the motion components of the images among the image frames for each divided region, and performs a camera 50 through another equation. You can also determine the shaking information of).
- the processor 120 may calculate a shake correction value of the image corresponding to the viewing area of the user based on the shake information of the camera determined as described above.
- the processor 120 needs to convert the shaking information of the camera into shaking information of an image corresponding to the viewing area of the user.
- FIG. 5A illustrates an example in which shaking information of a camera is differently reflected for each viewing area of a user.
- FIG. 5A when the camera 50 photographing the VR image is shaken to the left (2) and the right (1) based on the x-axis, an image corresponding to the front area of the camera 50 among the VR images ( It can be seen that the shaking of the camera 50 adversely affects each other in the image 520 corresponding to 510 and the rear region.
- FIG. 5A for convenience of explanation, only the images corresponding to the front area and the rear area of the camera 50 of the VR image are compared, but the shaking of the camera 50 of the six motion components is shown in the left, right, Obviously, it will affect different viewing areas such as up and down.
- the six motion components of the camera 50 may appear as at least one of an x-axis shake, a y-axis shake, and a rotation shake of an image corresponding to an arbitrary viewing area of the entire VR image.
- the x-axis shake means the left and right shake of the image corresponding to the viewing area
- the y-axis shake means the up and down shake of the image corresponding to the viewing area and the rotation of the image corresponding to the viewing area.
- Shaking may refer to shaking in which an image is rotated in a clockwise or counterclockwise direction with respect to the center of the viewing area.
- the processor 120 may convert shake information of the camera into shake information of an image corresponding to the viewing area of the user, and calculate a shake correction value using the shake information.
- the processor 120 may determine the shaking information of the camera based on the motion state of the display apparatus 100 that determines the viewing area of the user, the two-axis shake information or the three-axis shake information of the image corresponding to the viewing area of the user.
- the 2-axis shake information refers to the x-axis shake information and the y-axis shake information of the image corresponding to the viewing area of the user
- the 3-axis shake information refers to the x-axis shake information and y-axis of the image corresponding to the viewing area of the user. It may mean shake information and rotation shake information.
- the display apparatus 100 may detect this and display an image corresponding to the changed viewing area as the user moves the head. That is, when the user moves his head while the display apparatus 100 is worn, the display apparatus 100 also moves together, so that the display apparatus 100 may monitor the motion state of the display apparatus 100 through various sensors as will be described later. By sensing, the viewing area of the user may be determined. In this case, the viewing area of the user may be expressed as a spherical coordinate value such as a yaw, pitch, and a roll value with respect to a reference point (for example, a point of a VR image corresponding to a front center portion of the camera 50). It doesn't happen.
- the processor 120 may convert the shake information of the camera into biaxial shake information or triaxial shake information of an image corresponding to the viewing area of the user.
- FIG. 5B and 5C illustrate an example in which the processor 120 converts shake information of the camera into biaxial shake information of an image corresponding to the front region 510 and the rear region 520 of the VR image.
- FIG. 5B illustrates camera shake information of six motion components
- FIG. 5C illustrates x- and y-axis shake information 530 of an image corresponding to the front region 510 and an image corresponding to the rear region 520 of the VR image.
- the x and y-axis shake information 540 is shown.
- the x-axis represents the number of the image frame and the y-axis represents the amount of change in pixels.
- the processor 120 may convert the camera shake information as shown in FIG. B into biaxial shake information of the image corresponding to the viewing area of the user as shown in FIG. 5C by using the following equation.
- the equation for converting the shaking information of the camera into the shaking information of the image corresponding to the viewing area of the user is not limited thereto.
- rx is x-axis shake information of the image corresponding to the viewing area of the user
- ry is y-axis shake information of the image corresponding to the viewing area of the user
- Tx is the linear motion information of the x-axis direction of the camera 50
- Ty is Y-axis linear motion information of the camera 50
- Tz is linear motion information of the z-axis direction of the camera 50
- Yaw c is yaw rotational motion information of the camera 50
- Pitch c is the camera 50 Pitch rotation motion information
- Roll c is roll rotation motion information of the camera 50
- ⁇ H is the yaw coordinate of the viewing area of the user
- ⁇ H is the pitch of the viewing area of the user Represents a coordinate.
- Equation 2 in order to convert the six motion components of the camera 50 into biaxial shaking information of the image corresponding to the viewing area of the user, the roll coordinate of the viewing area of the user is set to 0 °. However, it is not limited thereto.
- the processor 120 may include a roll coordinate of the user's viewing area (eg, rotated in a clockwise or counterclockwise direction based on a horizontal line). Angle) and the motion components of the camera 50 to calculate rotation shake information r ⁇ of the image corresponding to the viewing area of the user, in which case the shaking information of the camera 50 is transmitted to the viewing area of the user. It may be converted into 3-axis shake information of the corresponding image.
- a roll coordinate of the user's viewing area eg, rotated in a clockwise or counterclockwise direction based on a horizontal line.
- Angle the motion components of the camera 50 to calculate rotation shake information r ⁇ of the image corresponding to the viewing area of the user, in which case the shaking information of the camera 50 is transmitted to the viewing area of the user. It may be converted into 3-axis shake information of the corresponding image.
- FIG. 5C it can be seen that the same six types of motion information of the camera are displayed with different shaking information according to the user's viewing area (front area and rear area in FIG. 5C).
- the processor 120 may calculate the shake correction value by using the shake information of the image corresponding to the viewing area of the user.
- the shaking information corresponding to the viewing area of the user may be the above-described two-axis shaking information or three-axis shaking information.
- the processor 120 smoothes the two-axis or three-axis shake information, calculates a difference value between the smoothed two-axis or three-axis shake information and the two-axis or three-axis shake information before smoothing, and calculates the calculated value.
- the shake correction value can be calculated by converting the difference value to the rotation value of the sphere.
- the processor 120 may smooth the biaxial shake information by removing the high frequency component from the biaxial shake information.
- the processor 120 may smooth the biaxial shake information by applying a filter such as a Kalman filter or an average filter to the biaxial shake information, but is not limited thereto.
- the processor 120 may calculate a difference between the two-axis shake information and the smoothed two-axis shake information before smoothing.
- FIG. 5D illustrates an example of calculating a difference value in each of the biaxial shake information of one viewing area (eg, the front area).
- the x-axis represents the number of the image frame and the y-axis represents the amount of change in pixels.
- rx represents x-axis shake information
- fx represents smoothed x-axis shake information
- the processor 120 may calculate the difference value dx by subtracting the smoothed x-axis shake information value fx from the x-axis shake information value rx before being smoothed for each image frame.
- the processor 120 may perform the same operation on the y-axis shake information to calculate a difference value dy as shown in FIG. 5D (b).
- the smoothed 2-axis shake information in Figure 5d is a camera according to the intended movement of the user of the camera 50 (for example, when taking a VR image while walking in a specific direction while holding the camera, the camera according to the movement walking in a specific direction (Difference of (50)), and the calculated difference values (dx, dy) become x, y axis shake values to be corrected in the ERP format image, that is, camera 50 shake. Therefore, the calculated difference values dx and dy are used to adjust the viewing area of the user as described later.
- the processor 120 calculates the shake to correct the shaking of the image corresponding to the viewing area of the user.
- the difference value can be converted into the rotation value on the spherical coordinate. That is, the processor 120 may convert the (dx, dy) value into the (dYaw, dPitch, dRoll) value.
- the processor 120 may convert the shake value on the x and y coordinates of the ERP format image into the rotation value on the spherical coordinates through the following equation. have.
- the following equation is only one example, and is not limited thereto.
- the processor 120 may adjust the viewing area in the VR image based on the shake correction value calculated as described above. In detail, the processor 120 may adjust the viewing area by moving the viewing area by the shake correction value in the VR image.
- the processor 120 may convert the shake information of the camera into three-axis shake information (rx, ry, r ⁇ ) of the image corresponding to the viewing area of the user, another embodiment of the present disclosure
- the processor 120 removes high frequency components by applying a Kalman filter or an average filter to the three-axis shaking information to smooth the three-axis shaking information, and before the smoothing, the three-axis shaking information and the smoothed three-axis shaking information are applied.
- the difference values dx, dy, and d ⁇ may be calculated.
- the processor 120 converts the calculated difference values dx, dy, and d ⁇ into rotation values dYaw, dPitch, and dRoll on spherical coordinates to calculate a three-axis shake correction value, and calculate the calculated three-axis shake.
- the viewing value of the user may be adjusted in the VR image by using the correction value.
- the processor 120 controls the display 110 to display an image corresponding to the adjusted viewing area in the VR image, thereby reducing the shaking of the image corresponding to the viewing area of the user.
- FIG. 6 is a diagram for describing a concept in which a biaxial shake correction value is applied to a VR image according to an exemplary embodiment.
- reference numerals 610 and 620 denote entire VR image frames in an ERP format
- reference numeral 611 denotes a viewing area of a user.
- the viewing area 611 of the user in the entire VR image is the same as shown even if the image frame is changed. .
- the VR image itself is shaken due to the shaking of the camera photographing the VR image
- the object 605 included in the viewing area 611 is shaken due to the shaking.
- the position displayed within 611 may vary, which causes fatigue or strain on the eyes of the user.
- the image corresponding to the adjusted viewing area 622 is displayed by adjusting the viewing area by the shake correction value of the image corresponding to the viewing area. Even if there is a shake in the VR image itself due to the shake, the user can watch a shake-free or shake-reduced image.
- the processor 120 first calculates dx and dy, which are x and y axis shake correction values, of an image corresponding to a viewing area of a user, using an image in an EPR format.
- dx and dy are x and y axis shake correction values
- the viewing area of the user is determined by spherical coordinate values such as yaw, pitch, and roll values with respect to the reference point
- the x and y axis shake correction values dx and dy are converted into rotation values on the spherical coordinates. Adjust the viewing area.
- FIG. 6B illustrates a concept of displaying an image corresponding to the adjusted viewing area by adjusting the viewing area by the rotation value converted on the spherical coordinate.
- the viewing area may also be adjusted by converting the image stabilization values dx, dy, and d ⁇ corresponding to the viewing area of the user calculated using the EPR format image into dYaw, dPitch, and dRoll, which are rotation values on the spherical coordinates. have.
- the display apparatus 100 may include a display 110, a processor 120, a communication unit 130, an input unit 140, an audio output unit 150, a storage unit 160, and a sensing unit 170. It may include.
- the display 110 may display various UIs under the control of the processor 120.
- the display 110 may display a UI for executing a shake correction mode for correcting a shake of an image corresponding to the viewing area of the user.
- the display 110 may display a shake correction degree adjusting UI for adjusting the shake correction degree of the image corresponding to the viewing area of the user.
- the communicator 130 may include a short range communication module 131, a wireless communication module 132, and a connector 133.
- the short range communication module 131 is a component that wirelessly performs short range communication between the display apparatus 100 and a peripheral electronic device (not shown).
- the short range communication module 131 includes at least one of a Bluetooth module, an infrared data association (IrDA) module, a Near Field Communication (NFC) module, a Wi-Fi (WIFI) module, and a Zigbee module. can do.
- the wireless communication module 132 is a module connected to an external network and performing communication according to a wireless communication protocol such as IEEE.
- the wireless communication module may further include a mobile communication module for accessing and communicating with a mobile communication network according to various mobile communication standards such as 3rd generation (3G), 3rd generation partnership project (3GPP), long term evolution (LTE), and the like. It may be.
- 3G 3rd generation
- 3GPP 3rd generation partnership project
- LTE long term evolution
- the communication unit 130 may be implemented by the above-mentioned various short-range communication and wireless communication schemes, and may employ other communication techniques not mentioned herein as necessary.
- the connector 133 is configured to provide an interface with an external device according to various standards such as USB 2.0, USB 3.0, HDMI, and IEEE 1394.
- the communicator 130 may transmit and receive VR image content by being connected to an external terminal including a 360 degree camera for capturing a VR image in various wired and wireless manners described above.
- the communication unit 130 may receive VR image content from an external server.
- the communication unit 130 may receive VR image content by streaming.
- the communication unit 130 may receive the shake information of the camera obtained through the sensor included in the camera.
- the communication unit 130 may be connected to the detachable HMD through the connector 133 to transmit and receive various control commands related to the playback of the VR image content.
- the display apparatus 100 may receive sensor data of the HMD for determining the viewing area of the user through the communication unit 130. .
- the input unit 140 is an input unit for receiving various user commands and transferring them to the processor 120, and may include a microphone 141, an operation unit 142, a touch input unit 143, and a user communication unit 144.
- the microphone 141 receives a user's voice
- the operation unit 142 may be implemented as a keypad having various function keys, numeric keys, special keys, text keys, and the like.
- the touch input unit 143 may be implemented as a touch screen having a rare structure with the display 110. In this case, the touch input unit 143 may receive a selection command for various application-related icons displayed on the display 110.
- the user input unit 144 may receive various wired and wireless signals for controlling the operation of the display apparatus 100 from at least one peripheral device (not shown).
- the audio output unit 150 may output audio of various contents.
- the audio output unit 150 may output audio data processed in the form of an audible sound.
- the storage unit 160 may store various programs and data.
- the storage 160 may store various VR images received from an external terminal or a server.
- the software module may be stored.
- the storage unit 160 analyzes a plurality of image frames constituting the VR image to determine the shaking information of the camera photographing the VR image, a camera shake determination module (not shown), VR based on the camera shake information
- a shake correction value calculating module (not shown) that calculates a shake correction value of the image corresponding to the viewing region of the user in the image, and adjusts the viewing region based on the shake correction value, and displays an image corresponding to the adjusted viewing region. It may include a viewing area adjustment module (not shown).
- the processor 120 may operate as described above with reference to FIGS. 2 to 7 by reading the module stored in the storage 160.
- the storage 160 may further store an operation program for controlling the operation of the display apparatus 100.
- the operation program may be a program that is read from the storage 160 and compiled to operate each component of the display apparatus 100.
- the storage unit 160 may be a memory card (eg, an SD card or a memory stick) that can be attached or detached to the display apparatus 100, various nonvolatile memories and volatile memories, a hard disk drive (HDD), or a solid state drive (SSD). It can be implemented as.
- a memory card eg, an SD card or a memory stick
- various nonvolatile memories and volatile memories e.g., a hard disk drive (HDD), or a solid state drive (SSD). It can be implemented as.
- HDD hard disk drive
- SSD solid state drive
- the motion sensor 170 is a component for detecting a movement of the display apparatus 100.
- the motion sensor 170 may include at least one sensor of the geomagnetic sensor 171, the acceleration sensor 172, and the gyro sensor 173.
- Various sensors included in the motion sensor 170 may detect three-dimensional movement of the display apparatus 100 through one or a combination of two or more thereof.
- the geomagnetic sensor 171 is a sensor measuring azimuth. That is, the geomagnetic sensor 171 refers to a sensor for measuring the azimuth angle by detecting a magnetic field formed in the north-south direction of the earth. The geomagnetic sensor 171 may detect the geomagnetism in the three axis direction. The north direction measured by the geomagnetic sensor 171 may be magnetic north. However, even if the geomagnetic sensor 171 measures the direction of the magnetic north, it is of course possible to output the direction of the true north through the internal calculation.
- the acceleration sensor 172 is a sensor measuring spatial movement of the display apparatus 100. That is, the acceleration sensor 172 refers to a sensor that detects a change in acceleration and / or a change in angular acceleration that occurs when the user moves the display apparatus 100. The acceleration sensor 172 may detect acceleration in three axes. In addition, the acceleration sensor 172 may detect the inclination of the display apparatus 100.
- the gyro sensor 173 is an inertial sensor that measures the rotational angular velocity of the display apparatus 100. That is, it means a sensor that can know the current direction by using the inertial force of the rotating object.
- the gyro sensor 173 may measure the rotational angular velocity in the two axis direction.
- the motion sensor 170 may recognize the direction in which the display apparatus 100 moves, the rotational angular velocity, and the like, while providing the data to the processor 120 while the display apparatus 100 is worn by the user. Accordingly, the processor 120 may determine the viewing direction of the user in the displayed VR image.
- the display apparatus 100 may include a gravity sensor that detects in which direction gravity acts, a pupil tracking sensor that detects a change in the line of sight of a user, and whether the object is close to another object. It may further include a proximity sensor for detecting whether or not.
- the processor 120 may include a CPU 124, a GPU 125, a RAM 126, and a ROM 127, and may include a CPU 124, a GPU 125, a RAM 126, and a ROM 127. ) May be connected to each other via the bus 121.
- the CPU 124 accesses the storage 160 and performs booting using an OS stored in the storage 160. In addition, the CPU 124 performs various operations using various programs, contents, data, and the like stored in the storage 160.
- the GPU 125 generates a display screen including various objects such as icons, images, texts, and the like. Specifically, the GPU 125 calculates attribute values such as coordinate values, shapes, sizes, colors, and the like in which each object is to be displayed according to the layout of the screen based on the received control command, and calculates objects based on the associated attribute values. Create a display screen with various layouts to include.
- the ROM 126 stores a command set for system booting.
- the CPU 124 copies the OS stored in the storage unit 160 to the RAM 126 according to the command stored in the ROM 125, and executes the OS to boot the system.
- the CPU 124 copies the various programs stored in the storage unit 160 to the RAM 126 and executes the programs copied to the RAM 126 to perform various operations.
- the processor 120 may be combined with each of the above-described components and implemented as a single-chip system (System-on-a-chip or System on chip, SOC, SoC).
- the processor 120 may control the display 110 to display a VR image stored in the storage 160 or a VR image received through streaming through the communication unit 130 according to a user command through the input unit 140.
- the processor 120 calculates a shake correction value of the image corresponding to the viewing area as described above, and adjusts the viewing area according to the calculated shake correction value to correspond to the adjusted viewing area. By displaying an image, the shaking of the displayed VR image can be reduced.
- the processor 120 may use shaking information acquired through a sensor included in a camera photographing a VR image.
- a sensor for detecting a shake is included in a 360 degree camera for capturing a VR image.
- the camera detects the shake of the camera generated while shooting the VR image, the motion information in the x-axis direction, the motion information in the y-axis direction, the motion information in the z-axis direction, the yaw rotation motion information, Various shake information such as pitch rotation motion information and roll rotation motion information may be obtained.
- the processor 120 receives the shaking information of the camera provided from the camera through the communication unit 130. Using the shake information, the operation as described above may be performed through FIGS. 2 to 6.
- the processor 120 shakes the camera by using a result of analyzing a plurality of frames included in the VR image and shaking information of the camera obtained through a sensor included in the camera. Information can be judged.
- the information obtained through the sensors included in the camera is provided among the above-described motion information of the six cameras, and the rest may use the result of analyzing the VR image.
- the camera shake information may be determined by averaging or differently combining the camera motion information obtained through the VR image analysis.
- the processor 130 uses the shaking image information obtained through the VR image analysis result and the sensor included in the camera.
- the processor 120 may control the display 110 to display a UI for executing a shake correction mode for correcting a shake of an image corresponding to the viewing area of the user. Accordingly, when the shake correction mode is executed, the processor 120 may calculate a shake correction value.
- the processor 120 may analyze the shake information of the camera photographing the VR image in advance and analyze the VR image in the storage 160.
- the shake correction value may be calculated only when the user's viewing area is determined, when the user executes the shake correction mode through the UI and watches the VR image, the shake correction value may be calculated.
- the embodiment is not limited thereto, and when the user views the VR image while wearing the display apparatus 100, the shake correction value of the camera and the image corresponding to the viewing area may be calculated.
- FIG. 8 (a) and 8 (b) show an example of the shake correction mode execution UI.
- the user selects Yes 810 in the UI as shown in FIG. 8A or sets the display device 100 to run in the shake correction mode in the UI as shown in FIG. 8B.
- Yes 810 in the UI as shown in FIG. 8A
- sets the display device 100 to run in the shake correction mode in the UI as shown in FIG. 8B When watching VR video, you can see the video with reduced shaking.
- the processor 120 may control the display 110 to display a shake correction degree adjustment UI for adjusting the shake correction degree of the image corresponding to the viewing area of the user.
- the processor 120 may adjust the shake correction degree by adjusting the smoothing intensity of the shake information of the image corresponding to the viewing area of the user.
- the processor 120 adjusts the application strength of the filter to adjust the biaxial shake information or the like. Smoothing intensity of 3-axis shake information can be adjusted.
- the processor 120 adjusts the viewing area of the user based on the shake correction value
- the degree of shake correction may be adjusted by adjusting the smoothing intensity of the shake information of the image.
- FIG. 8C illustrates an example of a shake correction degree adjustment UI.
- the processor 120 may adjust the shake correction degree by adjusting the smoothing intensity correspondingly.
- the display apparatus 100 may determine shaking information of a camera capturing a VR image by analyzing a plurality of image frames constituting a VR image (S910).
- the display apparatus 100 divides each of the plurality of image frames into a plurality of regions, detects feature points for each region corresponding to each other in the plurality of image frames, and displays shake information of the camera based on the amount of change between the detected feature points. You can judge.
- the display apparatus 100 may determine the shaking information by using the analysis result of the plurality of image frames together with the shaking information acquired through the sensor included in the camera.
- the shake information of the camera is based on a predetermined direction, the motion information of the x-axis direction of the camera, the motion information of the y-axis direction, the motion information of the z-axis direction, the yaw rotation motion information, the pitch rotation motion Information and roll rotation motion information.
- the display apparatus 100 may calculate a shake correction value of the image corresponding to the viewing area of the user in the VR image based on the shake information of the camera (S920).
- the display apparatus 100 converts shaking information of the camera into shaking information of an image corresponding to the viewing area based on the motion state of the display apparatus determining the viewing area, and converts shaking information of the image corresponding to the viewing area.
- the shake correction value can be calculated.
- the display apparatus 100 smoothes the shake information of the image, calculates a difference value between the shake information of the image before smoothing and the shake information of the smoothed image, and converts the calculated difference value into a spherical rotation value. By converting, the shake correction value can be calculated.
- the shake information of the image may include two-axis shake information including x-axis shake information and y-axis shake information of the image corresponding to the viewing area, or x-axis shake information, y-axis shake information, and rotation shake of the image corresponding to the viewing area. It may be three-axis shake information including the information.
- the display apparatus 100 may adjust the viewing area based on the calculated shake correction value, and display an image corresponding to the adjusted viewing area in the VR image (S930).
- the display apparatus 100 may adjust the viewing area by moving the viewing area by the shake correction value in the VR image, and display an image corresponding to the moved viewing area.
- the display apparatus 100 may display a UI for executing a shake correction mode for correcting a shake of an image corresponding to a viewing area of a user. Accordingly, when the shake correction mode is executed, the display apparatus 100 may calculate a shake correction value.
- the display apparatus 100 may display a shake correction degree adjustment UI for adjusting the shake correction degree of the image corresponding to the viewing area of the user. Accordingly, the display apparatus 100 may adjust the shake correction degree in the VR image by adjusting the smoothing intensity of the shake information of the image according to a user manipulation through the shake correction degree adjusting UI.
- the display device may display a virtual reality (VR) image with reduced shaking.
- VR virtual reality
- the input VR image of the ERP format may be used as it is, instead of being converted, and thus the image with reduced shaking may be displayed even when the VR image is displayed by streaming.
- the shake can be reduced by considering not only the rotational movement of the camera photographing the VR image but also linear movements in the x, y, and z axis directions.
- the shake correction level can be adjusted by the user, and the shake correction function can be turned on or off.
- the operation of the processor of the display apparatus or the image processing methods of the display apparatus according to the various embodiments described above may be generated by software and mounted on the display apparatus.
- Non-transitory computer readable medium may be installed.
- the non-transitory readable medium refers to a medium that stores data semi-permanently rather than a medium storing data for a short time such as a register, a cache, a memory, and the like, and can be read by the device.
- the above-described various middleware or programs may be stored and provided in a non-transitory readable medium such as a CD, a DVD, a hard disk, a Blu-ray disk, a USB, a memory card, a ROM, or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
디스플레이 장치의 영상 처리 방법이 개시된다. 본 디스플레이 장치의 영상 처리 방법은 VR 영상을 구성하는 복수의 영상 프레임을 분석하여 VR 영상을 촬영한 카메라의 흔들림 정보를 판단하는 단계, 카메라의 흔들림 정보에 기초하여 VR 영상에서 사용자의 시청 영역에 대응되는 영상의 흔들림 보정값을 산출하는 단계 및 흔들림 보정값에 기초하여 시청 영역을 조절하고, VR 영상에서 조절된 시청 영역에 대응되는 영상을 디스플레이하는 단계를 포함한다.
Description
본 개시는 디스플레이 장치 및 디스플레이 장치의 영상 처리 방법에 관한 것으로, 보다 상세하게는, VR(Virtual Reality) 영상을 디스플레이하는 디스플레이 장치 및 디스플레이 장치의 영상 처리 방법에 관한 것이다.
최근, HMD(Head Mounted Device) 등과 같은 Large FOV(Field Of View)를 가지는 몰입형 디스플레이(Immersion Display) 시장이 급격히 성장하고 있다.
HMD는 사용자의 머리에 착용되어 영상을 디스플레이하는 장치로서, 착용자의 눈에 가까운 곳에 디스플레이를 배치하고 있어 FMD(Face Mounted Display)라고도 불린다. 이러한 HMD는 360도 영상 컨텐츠와 같은 VR(Virtual Reality) 영상 컨텐츠를 디스플레이하여 시각적 가상현실을 구현할 수 있다.
예를 들어, 사용자는 VR 영상 컨텐츠를 디스플레이하는 HMD를 착용하고 원하는 방향으로 얼굴을 향함으로써, 전체 VR 영상에서 자신이 보고자 하는 영역의 영상을 실제 환경과 같은 느낌으로 시청할 수 있으며, 이로써 자신이 가상공간에 실제로 존재하는 듯한 느낌을 받을 수 있다.
이러한 VR 영상 컨텐츠는 일반 카메라가 아닌 360도 카메라 등과 같은 VR 영상 컨텐츠 제작을 위한 별도의 카메라를 통해 제작되는데, 최근에는 360도 카메라가 개인용으로도 보급되어 개인이 VR(Virtual Reality) 컨텐츠를 제작할 수도 있게 되었다.
한편, 카메라를 통해 영상 컨텐츠를 제작할 때, 카메라를 쥔 사용자의 손떨림이 있거나 흔들림이 있는 촬영 환경(가령, 놀이 기구를 타고 촬영하는 등)에서 영상이 촬영되는 경우 카메라의 흔들림이 촬영되는 영상에 반영되게 된다.
이때, 일반 카메라에는 각종 흔들림 방지(또는 손떨림 방지) 기술이 적용되어 있어 촬영 당시 카메라의 흔들림이 보정된 영상 컨텐츠가 제작될 수 있다.
이에 반해, 360도 카메라에는 흔들림 방지 기술이 적용되어 있지 않아 문제가 된다. 즉, 360도 카메라를 통해 제작된 VR 영상 컨텐츠를 HMD 등과 같은 몰입형 디스플레이 장치를 통해 시청시 사용자는 영상의 흔들림으로 눈의 피로와 부담감을 느끼게 된다. 특히, HMD 착용자는 시야 전체를 통해 영상을 보기 때문에 VR 영상의 흔들림은 일반 영상을 볼 때보다 더 문제가 된다.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로, 본 개시의 목적은 흔들림이 저감된 VR(Virtual Reality) 영상을 디스플레이할 수 있는 디스플레이 장치 및 디스플레이 장치의 영상 처리 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 디스플레이 장치의 영상 처리 방법은 VR 영상을 구성하는 복수의 영상 프레임을 분석하여 상기 VR 영상을 촬영한 카메라의 흔들림 정보를 판단하는 단계, 상기 카메라의 흔들림 정보에 기초하여 상기 VR 영상에서 사용자의 시청 영역에 대응되는 영상의 흔들림 보정값을 산출하는 단계 및 상기 흔들림 보정값에 기초하여 상기 시청 영역을 조정하고, 상기 VR 영상에서 상기 조정된 시청 영역에 대응되는 영상을 디스플레이하는 단계를 포함한다.
또한, 상기 카메라의 흔들림 정보를 판단하는 단계는, 상기 복수의 영상 프레임 각각을 복수의 영역으로 구분하고, 상기 복수의 영상 프레임에서 서로 대응되는 영역별로 특징점을 검출하는 단계 및 상기 검출된 특징점 간의 변화량에 기초하여 상기 카메라의 흔들림 정보를 판단하는 단계를 포함할 수 있다.
또한, 상기 카메라의 흔들림 정보는, 기설정된 방향을 기준으로 상기 카메라의 x축 방향의 움직임 정보, y축 방향의 움직임 정보, z축 방향의 움직임 정보, 요(yaw) 회전 움직임 정보, 피치(pitch) 회전 움직임 정보 및 롤(roll) 회전 움직임 정보 중 적어도 하나를 포함할 수 있다.
또한, 상기 흔들림 보정값을 산출하는 단계는, 상기 시청 영역을 결정하는 상기 디스플레이 장치의 모션 상태 기초하여 상기 카메라의 흔들림 정보를 상기 시청 영역에 대응되는 영상의 흔들림 정보로 변환하는 단계 및 상기 시청 영역에 대응되는 영상의 흔들림 정보를 이용하여 상기 흔들림 보정값을 산출하는 단계를 포함할 수 있다.
또한, 상기 흔들림 보정값을 산출하는 단계는, 상기 영상의 흔들림 정보를 스무딩(smoothing)하는 단계, 상기 영상의 흔들림 정보와 상기 스무딩된 영상의 흔들림 정보의 차이값을 산출하는 단계 및 상기 차이값을 구의 회전 값으로 변환하여 상기 흔들림 보정값을 산출하는 단계를 포함할 수 있다.
또한, 상기 영상의 흔들림 정보는, 상기 시청 영역에 대응되는 영상의 x축 흔들림 정보 및 y축 흔들림 정보를 포함하는 2축 흔들림 정보 또는 상기 시청 영역에 대응되는 영상의 x축 흔들림 정보, y축 흔들림 정보 및 회전 흔들림 정보를 포함하는 3축 흔들림 정보일 수 있다.
또한, 상기 디스플레이하는 단계는, 상기 VR 영상에서 상기 시청 영역을 상기 흔들림 보정값만큼 이동시켜 상기 시청 영역을 조절하고, 상기 이동된 시청 영역에 대응되는 영상을 디스플레이할 수 있다.
또한, 상기 흔들림 정보를 판단하는 단계는, 상기 복수의 영상 프레임에 대한 분석결과 및 상기 카메라에 포함된 센서를 통해 획득된 흔들림 정보를 이용하여 상기 흔들림 정보를 판단할 수 있다.
또한, 상기 사용자의 시청 영역에 대응되는 영상의 흔들림을 보정하는 흔들림 보정 모드 실행을 위한 UI를 디스플레이하는 단계를 더 포함하고, 상기 흔들림 보정값을 산출하는 단계는, 상기 흔들림 보정 모드가 실행되면, 상기 흔들림 보정값을 산출할 수 있다.
또한, 상기 사용자의 시청 영역에 대응되는 영상의 흔들림 보정 정도를 조절하는 흔들림 보정 정도 조정 UI를 디스플레이하는 단계를 더 포함하고, 상기 스무딩하는 단계는, 상기 흔들림 보정 정도 조정 UI를 통한 사용자 조작에 따라 상기 영상의 흔들림 정보의 스무딩 강도를 조정할 수 있다.
한편, 본 개시의 일 실시 예에 따른 디스플레이 장치는, VR 영상에서 사용자 시청 영역에 대응되는 영상을 디스플레이하는 디스플레이 및 상기 VR 영상을 구성하는 복수의 영상 프레임을 분석하여 상기 VR 영상을 촬영한 카메라의 흔들림 정보를 판단하고, 상기 카메라의 흔들림 정보에 기초하여 상기 시청 영역에 대응되는 영상의 흔들림 보정값을 산출하고, 상기 흔들림 보정값에 기초하여 상기 시청 영역을 조정하며, 상기 VR 영상에서 상기 조정된 시청 영역에 대응되는 영상을 디스플레이하도록 상기 디스플레이를 제어하는 프로세서를 포함한다.
또한, 상기 프로세서는, 상기 복수의 영상 프레임 각각을 복수의 영역으로 구분하고, 상기 복수의 영상 프레임에서 서로 대응되는 영역별로 특징점을 검출하며, 상기 검출된 특징점 간의 변화량에 기초하여 상기 카메라의 흔들림 정보를 판단할 수 있다.
또한, 상기 카메라의 흔들림 정보는, 기설정된 방향을 기준으로 상기 카메라의 x축 방향의 움직임 정보, y축 방향의 움직임 정보, z축 방향의 움직임 정보, 요(yaw) 회전 움직임 정보, 피치(pitch) 회전 움직임 정보 및 롤(roll) 회전 움직임 정보 중 적어도 하나를 포함할 수 있다.
또한, 상기 프로세서는, 상기 시청 영역을 결정하는 상기 디스플레이 장치의 모션 상태에 기초하여 상기 카메라의 흔들림 정보를 상기 시청 영역에 대응되는 영상의 흔들림 정보로 변환하고, 상기 시청 영역에 대응되는 영상의 흔들림 정보를 이용하여 상기 흔들림 보정값을 산출할 수 있다.
또한, 상기 프로세서는, 상기 영상의 흔들림 정보를 스무딩(smoothing)하고, 상기 영상의 흔들림 정보와 상기 스무딩된 영상의 흔들림 정보의 차이값을 산출하며, 상기 차이값을 구의 회전 값으로 변환하여 상기 흔들림 보정값을 산출할 수 있다.
또한, 상기 영상의 흔들림 정보는, 상기 시청 영역에 대응되는 영상의 x축 흔들림 정보 및 y축 흔들림 정보를 포함하는 2축 흔들림 정보 또는 상기 시청 영역에 대응되는 영상의 x축 흔들림 정보, y축 흔들림 정보 및 회전 흔들림 정보를 포함하는 3축 흔들림 정보일 수 있다.
또한, 상기 프로세서는, 상기 VR 영상에서 상기 시청 영역을 상기 흔들림 보정값만큼 이동시켜 상기 시청 영역을 조절하고, 상기 이동된 시청 영역에 대응되는 영상을 디스플레이하도록 상기 디스플레이를 제어할 수 있다.
또한, 상기 프로세서는, 상기 복수의 영상 프레임에 대한 분석결과 및 상기 카메라에 포함된 센서를 통해 획득된 흔들림 정보를 이용하여 상기 흔들림 정보를 판단할 수 있다.
또한, 상기 프로세서는, 상기 사용자의 시청 영역에 대응되는 영상의 흔들림을 보정하는 흔들림 보정 모드 실행을 위한 UI를 디스플레이하도록 상기 디스플레이를 제어하고, 상기 흔들림 보정 모드가 실행되면, 상기 흔들림 보정값을 산출할 수 있다.
또한, 상기 프로세서는, 상기 사용자의 시청 영역에 대응되는 영상의 흔들림 보정 정도를 조절하는 흔들림 보정 정도 조정 UI를 디스플레이하도록 상기 디스플레이를 제어하고, 상기 흔들림 보정 정도 조정 UI를 통한 사용자 조작에 따라 상기 영상의 흔들림 정보의 스무딩 강도를 조정할 수 있다.
또한, 상기 프로세서는, 상기 시청 영역을 결정하는 상기 디스플레이 장치의 모션 상태에 기초하여 상기 카메라의 흔들림 정보를 상기 시청 영역에 대응되는 영상의 2축 흔들림 정보로 변환하고, 상기 시청 영역에 대응되는 영상의 2축 흔들림 정보를 이용하여 상기 흔들림 보정값을 산출할 수 있다.
또한, 상기 2축 흔들림 정보는, 상기 시청 영역에 대응되는 영상을 나타내는 복수의 프레임들 간의 x, y축 변위값을 포함하고, 상기 프로세서는, 상기 2축 흔들림 정보를 스무딩(smoothing)하고, 상기 스무딩된 2축 흔들림 정보와 상기 2축 흔들림 정보의 차이값을 산출하며, 상기 차이값을 구의 회전 값으로 변환하여 상기 흔들림 보정값을 산출할 수 있다.
또한, 상기 프로세서는, 상기 VR 영상에서 상기 시청 영역을 상기 흔들림 보정값만큼 이동시켜 상기 시청 영역을 조절하고, 상기 이동된 시청 영역에 대응되는 영상을 디스플레이하도록 상기 디스플레이를 제어할 수 있다.
또한, 상기 프로세서는, 상기 복수의 영상 프레임에 대한 분석결과 및 상기 카메라에 포함된 센서를 통해 획득된 흔들림 정보를 이용하여 상기 흔들림 정보를 판단할 수 있다.
또한, 상기 프로세서는, 상기 사용자의 시청 영역에 대응되는 영상의 흔들림을 보정하는 흔들림 보정 모드 실행을 위한 UI를 디스플레이하도록 상기 디스플레이를 제어하고, 상기 흔들림 보정 모드가 실행되면, 상기 흔들림 보정값을 산출할 수 있다.
또한, 상기 프로세서는, 상기 사용자의 시청 영역에 대응되는 영상의 흔들림 보정 정도를 조절하는 흔들림 보정 정도 조정 UI를 디스플레이하도록 상기 디스플레이를 제어하고, 상기 흔들림 보정 정도 조정 UI를 통한 사용자 조작에 따라 상기 2축 흔들림 정보의 스무딩 강도를 조정할 수 있다.
한편, 본 개시의 일 실시 예에 따른 디스플레이 장치의 영상 처리 방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록매체에 있어서, 상기 디스플레이 장치의 영상 처리 방법은, VR 영상을 구성하는 복수의 영상 프레임을 분석하여 상기 VR 영상을 촬영한 카메라의 흔들림 정보를 판단하는 단계, 상기 카메라의 흔들림 정보에 기초하여 상기 VR 영상에서 사용자의 시청 영역에 대응되는 영상의 흔들림 보정값을 산출하는 단계 및 상기 흔들림 보정값에 기초하여 상기 시청 영역을 조정하고, 상기 VR 영상에서 상기 조정된 시청 영역에 대응되는 영상을 디스플레이하는 단계를 포함한다.
이상과 같은 본 개시의 다양한 실시 예들에 따르면, 디스플레이 장치는 흔들림이 저감된 VR(Virtual Reality) 영상을 디스플레이할 수 있게 된다.
도 1은 본 개시의 다양한 실시 예들에 따른 디스플레이 장치의 예시도,
도 2a 내지 도 2c는 VR 영상 및 사용자가 VR 영상을 감상하는 예시도,
도 3은 본 개시의 일 실시 예에 따른 디스플레이 장치의 블럭도,
도 4a 및 도 4b는 본 개시의 일 실시 예에 따라 카메라의 흔들림 정보를 판단하는 방법을 설명하기 위한 도면,
도 5a 내지 도 5d는 본 개시의 일 실시 예에 따라 흔들림 보정값을 산출하는 방법을 설명하기 위한 도면,
도 6은 본 개시의 일 실시 예에 따라 흔들림 보정값이 VR 영상에 적용되는 개념을 설명하기 위한 도면,
도 7은 본 개시의 다른 일 실시 예에 따른 디스플레이 장치의 구성을 나타내는 상세 블럭도,
도 8은 본 개시의 일 실시 예에 따른 UI 화면의 예시도, 및
도 9는 본 개시의 일 실시 예에 따른 디스플레이 장치의 영상 처리 방법을 나타내는 흐름도이다.
본 개시를 설명함에 있어, 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
본 명세서에서 사용한 용어는 실시 예를 설명하기 위해 사용된 것으로, 본 개시를 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
또한, 본 발명의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하에서 첨부된 도면을 참조하여 본 개시의 다양한 실시 예를 상세히 설명한다. 도 1은 본 개시의 일 실시 예에 따른 디스플레이 장치의 구현 형태 및 외관을 도시한 도면이다.
본 개시의 실시 예들에 따른 디스플레이 장치는 사용자의 머리에 착용하기 위한 밴드, HMD의 동작을 제어하기 위한 각종 사용자 입력 인터페이스 및 디스플레이가 하나의 장치로 구성된 일체형 HMD로 구현되거나, 디스플레이가 없는 분리형 HMD에 결합하여 디스플레이를 제공하는 형태의 디스플레이 장치로 구현될 수 있다.
도 1의 (a)는 사용자가 일체형 HMD로 구현된 디스플레이 장치(100-1)를 머리에 착용한 모습을 도시한 것이다. 도 1의 (a)에 도시된 바와 같이, 디스플레이 장치(100-1)는 밴드를 구비하여 사용자의 머리에 디스플레이 장치(100-1)를 고정시킬 수 있으며, HMD 자체에 디스플레이가 포함되어 있다.
본 개시의 일 실시 예에 따르면, 이와 같은 일체형 HMD 형태의 디스플레이 장치(100-1)는 노트북이나 PC(Personal Computer) 등과 같은 외부 장치와 연결되어 외부 장치에서 후술할 바와 같이 처리되어 제공되는 VR 영상을 디스플레이할 수 있다.
또한, 본 개시의 다른 일 실시 예에 따르면, 일체형 HMD 형태의 디스플레이 장치(100-1)는 VR 영상을 저장하는 저장부(미도시)나 VR 영상을 스트리밍으로 수신할 수 있는 통신부(미도시)를 구비하고, VR 영상을 처리할 수 있는 프로세서(미도시)를 구비하여 독립형 장치(Stand alone) 형태로 동작할 수도 있다.
이때, 디스플레이 장치(100-1)가 노트북이나 PC와 연결되어 동작하는 경우, 본 개시의 일 실시 예에 따른 디스플레이 장치(100-1)는 디스플레이 장치(100-1)와 연결된 노트북이나 PC를 포함하는 개념일 수 있다.
도 1의 (b)는 분리형 HMD에 결합하여 사용되도록 구현된 디스플레이 장치(100-2)의 일 예를 도시한 것이다. 도 1의 (b)에 도시된 바와 같이, 디스플레이 장치(100-2)는 스마트폰으로 구현될 수 있으며, HMD의 본체(10)에 결합되어 디스플레이를 제공할 수 있다.
한편, 분리형 HMD에 결합하여 사용하는 디스플레이 장치(100-2)는 스마트폰뿐만 아니라 태블릿 PC(Tablet Personal Computer), 이동전화기(Mobile Phone), 전자책 리더(E-book Reader), PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), MP3 플레이어, 네비게이션(navigation), 디지털 카메라 등 디스플레이를 구비한 다양한 형태의 디스플레이 장치로 구현될 수도 있다.
이하에서, 디스플레이 장치(100-1, 100-2)는 일체형 HMD(100-1)를 의미하거나 또는 분리형 HMD에 결합하여 사용되는 디스플레이 장치(100-2) 모두를 의미한다.
사용자는 이와 같은 디스플레이 장치(100-1, 100-2)를 착용하고 VR 영상을 볼 수 있다. 도 2는 VR 영상의 예 및 사용자가 VR 영상을 보는 경우의 상황을 설명하기 위한 도면이다.
VR 영상은 360도 전경 시야를 확보할 수 있는 파노라마 영상 또는 360도 영상으로, 360도 카메라로 촬영된 영상일 수 있으나, 이에 한정되는 것은 아니다. 도 2a는 VR 영상을 ERP(Equirectangular Projection) 포맷으로 나타낸 하나의 예이다. 도 2a에 도시된 바와 같이, VR 영상은 촬영 당시 카메라의 특정 위치(예를 들어, 전면)를 기준으로 전, 후, 좌, 우의 360도 전경을 포함할 수 있다.
이러한 VR 영상은 복수의 촬영부를 포함하는 360도 카메라를 이용하여 서로 다른 방향을 촬영하고, 촬영된 영상을 스티칭(stiching)하여 생성될 수 있다. 그러나, 이에 한정되는 것은 아니며, 360도 카메라가 VR 영상을 생성하는 구체적인 내용은 본 개시의 요지를 벗어나므로, 자세한 설명은 생략한다.
한편, 사용자가 디스플레이 장치(100-1, 100-2)를 착용하고 VR 영상을 시청할 때, 사용자는 도 2a와 같은 VR 영상 전체 즉, 360도 영상 전체를 한꺼번에 보는 것이 아니라, 전체 VR 영상 중 사용자의 시야에 해당하는 만큼의 일부 영역에 대한 영상을 보게 되며, 고개를 움직여 다른 영역의 영상을 볼 수 있다.
즉, 디스플레이 장치(100-1, 100-2)를 착용한 사용자의 입장에서 볼 때, 도 2a와 같은 VR 영상이 도 2b와 같은 구 형상에 입혀져 있고, 사용자는 구의 중심에 위치하여 특정 방향의 VR 영상을 보는 것처럼 느껴지게 된다.
이때, 디스플레이 장치(100-1, 100-2)는 전체 VR 영상에서 사용자가 바라보는 방향에 대해 사람의 시야각에 해당하는 영역만큼을 디스플레이할 수 있으며, 사용자가 고개를 움직이는 경우, 이를 감지하여 그 움직임만큼 변경된 위치의 영상을 디스플레이함으로써, 사용자는 마치 현실 세계에 있는 것과 같은 느낌을 받을 수 있게 된다.
여기서, VR 영상의 전체 영역 중 사용자가 보게 되는 일부 영역을 사용자의 시청 영역이라고 하며, 사용자가 고개를 다른 방향으로 향하면, 그에 따라 사용자의 시청 영역이 변경될 수 있다. 이때, 디스플레이 장치(100-1, 100-2)는 VR 영상에서 사용자의 시청 영역에 대응되는 영역의 영상을 디스플레이할 수 있다.
즉, 예를 들면, 도 2c의 (b)에 도시된 바와 같이, 사용자가 디스플레이 장치(100-1, 100-2)를 착용하고 앞을 향하고 있는 경우, 디스플레이 장치(100-1, 100-2)는 도 2a와 같은 VR 영상에서 앞 부분을 중심으로 사용자의 시야에 해당하는 영역의 영상을 디스플레이하고, 사용자가 고개를 왼쪽으로 향하면, 도 2c의 (a)에 도시된 바와 같이, 도 2a의 VR 영상에서 왼쪽 부분을 중심으로 사용자의 시야에 해당하는 영역의 영상을, 그리고, 사용자가 고개를 오른쪽으로 향하면, 도 2c의 (c)에 도시된 바와 같이, 도 2a의 VR 영상에서 오른쪽 부분을 중심으로 사용자의 시야에 해당하는 영역의 영상을 디스플레이할 수 있다.
이와 같이, 사용자의 전, 후, 좌, 우, 상, 하 방향의 고개 움직임에 따라 시청 영역은 연속적으로 변경될 수 있으며, 디스플레이 장치(100-1, 100-2)는 변경된 시청 영역에 대응되는 영상을 디스플레이할 수 있다.
한편, 전술한 바와 같이 360도 카메라에는 흔들림 방지 기술이 적용되어 있지 않은 것이 일반적이므로, 위와 같은 VR 영상이 제작될 때 즉, 360도 카메라를 통해 VR 영상을 촬영할 때 카메라의 흔들림이 있는 경우, 그 떨림이나 흔들림은 고스란히 VR 영상에 반영되게 되며, 이러한 흔들림이 있는 VR 영상을 시청하는 것은 사용자에게 눈의 피로나 부담감을 야기 시키게 된다.
특히, HMD를 통한 VR 영상 시청시 높은 몰입감 및 실제감을 위해 HMD는 사용자의 머리에 착용되어 외부에 대한 시야를 차단하기 때문에, 영상의 흔들림으로 인한 사용자 눈의 피로감은 일반적인 영상을 시청할 때보다 큰 문제가 된다.
따라서, 본 개시의 일 실시 예에 따르면, 디스플레이 장치(100-1, 100-2)는 디스플레이할 VR 영상을 분석하여 해당 VR 영상을 촬영한 카메라의 흔들림 정보를 판단하고, 판단된 카메라의 흔들림 정보를 이용하여 사용자의 현재 시청 영역에 대응되는 영상의 흔들림 보정값을 산출하며, 산출된 흔들림 보정값만큼 조정된 시청 영역에 대응되는 영상을 디스플레이함으로써, 사용자는 흔들림이 저감된 VR(Virtual Reality) 영상을 시청할 수 있게 된다.
도 3은 본 개시의 일 실시 예에 따른 디스플레이 장치의 구성을 나타내는 예시도이다. 도 3에 따르면, 디스플레이 장치(100)는 디스플레이(110) 및 프로세서(120)를 포함한다.
디스플레이(110)는 각종 영상을 디스플레이할 수 있다. 여기서, 영상은 텍스트, 정지영상, 동영상, GUI(Graphic User Interface) 등과 같은 다양한 포맷의 영상일 수 있다.
특히, 디스플레이(110)는 VR(Virtual Reality) 영상을 디스플레이할 수 있으며, 이때, VR 영상은 동영상일 수도 있고, 기설정된 개수만큼 연속 촬영된 복수의 정지 영상을 포함하는 영상일 수도 있다. 본 개시의 일 실시 예에 따르면, 디스플레이(110)는 프로세서(120)의 제어를 받아 VR 영상에서 사용자의 시청 영역에 대응되는 영상을 디스플레이할 수 있다.
이를 위해, 디스플레이(110)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes), AM-OLED(Active-Matrix Organic Light-Emitting Diode), PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다.
프로세서(120)는 디스플레이 장치(100)의 전반적인 동작을 제어한다. 특히, 프로세서(120)는 VR 영상을 구성하는 복수의 영상 프레임을 분석하여 VR 영상을 촬영한 카메라의 흔들림 정보를 판단할 수 있다.
VR 영상은 동영상 또는 연속 촬영된 복수의 정지 영상을 포함하므로, 시간의 흐름에 따른 복수의 영상 프레임을 포함할 수 있다. 따라서, 프로세서(120)는 복수의 영상 프레임을 분석하여 VR 영상을 촬영한 카메라의 흔들림 정보를 판단할 수 있다. 이때, 분석되는 VR 영상은 ERP(Equirectangular Projection) 포맷일 수 있으나, 이에 한정되는 것은 아니며, VR 영상을 촬영한 카메라를 둘러싼 구 형상의 실제 외부 환경을 도 2a와 같은 사각형 형태로 변환하여 표현한 다른 포맷의 영상일 수도 있다.
구체적으로, 프로세서(120)는 VR 영상을 구성하는 복수의 영상 프레임 각각을 복수의 영역으로 구분하여 서로 대응되는 영역별로 특징점을 검출하고, 검출된 특징점들의 변화량에 기초하여 카메라의 흔들림 정보를 판단할 수 있다.
예를 들어, 프로세서(120)는 복수의 영상 프레임 각각을 카메라의 촬영 방향을 기준으로 앞, 뒤, 좌, 우와 같은 복수의 영역으로 구분할 수 있다. 또한, 프로세서(120)는 복수의 영상 프레임 각각에 대해 구분된 영역별로 특징점을 검출할 수 있다. 영상에서 특징점을 검출하는 구체적인 방법은 본 개시의 요지와 무관하므로, 구체적인 내용은 설명을 생략한다.
이에 따라, 프로세서(120)는 구분된 영역별로 복수의 프레임 간의 특징점들의 변화량, 예를 들어, 모션 벡터를 계산할 수 있으며, 이에 기초하여 VR 영상을 촬영한 카메라의 흔들림 정보를 판단할 수 있다. 이때, 복수의 영상 프레임은 연속된 2개의 영상 프레임일 수 있으나, 이에 한정되는 것은 아니며, 기설정된 개수의 프레임마다 선택된 복수의 영상 프레임일 수도 있다.
도 4a 및 도 4b는 본 개시의 일 실시 예에 따라 카메라의 흔들림 정보를 판단하는 방법을 설명하기 위한 도면이다. 도 4a에 도시된 바와 같이, VR 영상을 촬영하는 카메라(50)의 흔들림은 6가지 움직임 성분을 가질 수 있다. 구체적으로, 카메라(50)의 움직임 성분은 전면 촬영부(51)를 기준으로 x축 방향의 움직임 정보, y축 방향의 움직임 정보, z축 방향의 움직임 정보, 요(yaw) 회전 움직임 정보, 피치(pitch) 회전 움직임 정보 및 롤(roll) 회전 움직임 정보를 포함할 수 있다.
이러한 카메라(50)의 흔들림 정보를 판단하기 위해, 프로세서(120)는 도 4b와 같은 ERP 포맷의 VR 영상을 분석할 수 있다. 도 4b에는 하나의 VR 영상 프레임만을 도시하였지만, 전술한 바와 같이, VR 영상은 복수의 영상 프레임을 포함하고 있다.
구체적으로, 프로세서(120)는 VR 영상을 구성하는 복수의 영상 프레임 각각을 도 4b에 도시된 VR 입력 영상과 같이, 앞(410), 뒤(440), 좌(420), 우(430)와 같이 4 영역으로 구분하고, 구분된 4 영역별로 영상 프레임 간의 영상의 움직임을 분석하여 카메라(50)의 흔들림 정보를 판단할 수 있다.
예를 들어, 앞 영역(410)에서 영상의 x축 방향 움직임은 카메라(50)의 x축 방향 직선 움직임과 카메라(50)의 요(yaw) 회전 움직임 성분을 포함하며, 앞 영역(410)에서 영상의 y축 방향 움직임은 카메라(50)의 y축 방향 직선 움직임과 카메라(50)의 피치(pitch) 회전 움직임 성분을 포함하게 되므로, 프로세서(120)는 앞 영역(410)에 대해 영상 프레임 간의 x 방향 움직임 성분(Front_x)과 y 방향 움직임 성분(Front_y)을 도 4b의 아래 식(41)과 같이 분석하여 나타낼 수 있다.
나머지 영역(420, 430, 440) 역시 x 방향 움직임 및 y 방향 움직임을 분석하면, 도 4b의 아래 식(42, 43, 44)과 같이 표현될 수 있음을 알 수 있다.
이에 따라, 프로세서(120)는 아래의 수학식을 통해 6가지 움직임 정보를 포함하는 카메라(50)의 흔들림 정보를 판단할 수 있다.
[수학식 1]
요(yaw) = (Front_x+Back_x+Left_x+Right_x)/4
Tx = (Front_x-Back_x)/2
Tz = (Left_x-Right_x)/2
Ty = (Front_y+Back_y+Left_y+Right_y)/4
피치(pitch) = (Front_y-Back_y)/2
롤(roll) = (Left_y-Right_y)/2
여기서, Tx는 카메라(50)의 x축 방향 직선 움직임 정보, Ty는 카메라(50)의 y축 방향 직선 움직임 정보, Tz는 카메라(50)의 z축 방향 직선 움직임 정보, 요(yaw)는 카메라(50)의 요(yaw) 회전 움직임 정보, 피치(pitch)는 카메라(50)의 피치(pitch) 회전 움직임 정보 및 롤(roll)은 카메라(50)의 롤(roll) 회전 움직임 정보를 나타낸다. 또한, Front_x, Front_y, Back_x, Back_y, Left_x, Left_y, Right_x, Right_y는 VR 영상의 앞, 뒤, 좌, 우 영역(410, 440, 420, 430)별 x축 및 y축 방향 움직임 성분을 나타낸다.
이와 같이, 프로세서(120)는 VR 영상을 분석하여 VR 영상을 촬영한 카메라의 흔들림 정보를 판단할 수 있다.
그러나, 도 4는 하나의 예에 불과할 뿐, VR 영상을 분석하여 카메라의 흔들림 정보를 판단하는 예가 이에 한정되는 것은 아니다. 가령, 프로세서(120)는 VR 영상을 구성하는 복수의 영상 프레임을 4개 미만 또는 5개 이상의 영역으로 구분하고, 구분된 영역별로 영상 프레임 간의 영상의 움직임 성분을 분석하여 다른 식을 통해 카메라(50)의 흔들림 정보를 판단할 수도 있을 것이다.
한편, 프로세서(120)는 전술한 바와 같이 판단된 카메라의 흔들림 정보에 기초하여 사용자의 시청 영역에 대응되는 영상의 흔들림 보정값을 산출할 수 있다.
사용자가 디스플레이 장치(100, 100-1, 100-2)를 착용하고 VR 영상을 시청할 때 디스플레이 장치(100, 100-1, 100-2)에는 사용자의 시청 영역에 대응되는 영상만이 디스플레이되며, 위와 같이 판단된 카메라의 흔들림 정보는 사용자의 시청 영역에 각각 다르게 반영되므로, 프로세서(120)는 카메라의 흔들림 정보를 사용자의 시청 영역에 대응되는 영상의 흔들림 정보로 변환할 필요가 있다.
도 5a는 카메라의 흔들림 정보가 사용자의 시청 영역마다 다르게 반영되는 예를 나타낸다. 도 5a에 도시된 바와 같이, VR 영상을 촬영하는 카메라(50)가 x축을 기준으로 좌(②), 우(①)로 흔들린 경우, VR 영상 중 카메라(50)의 전면 영역에 대응되는 영상(510)과 후면 영역에 대응되는 영상(520)에서 카메라(50)의 흔들림이 서로 반대로 영향을 미치는 것을 볼 수 있다. 도 5a에서는 설명의 편의를 위해 VR 영상 중 카메라(50)의 전면 영역과 후면 영역에 대응되는 영상만을 비교하여 도시하였지만, 6가지 움직임 성분의 카메라(50)의 흔들림이 VR 영상의 좌, 우, 상, 하 등 임의의 시청 영역마다 다르게 영향을 미칠 것임은 자명하다.
이때, 카메라(50)의 6가지 움직임 성분은 전체 VR 영상 중 임의의 시청 영역에 대응되는 영상의 x축 흔들림, y축 흔들림 및 회전 흔들림 중 적어도 하나로 나타날 수 있다. 여기서, x축 흔들림은 시청 영역에 대응되는 영상의 좌, 우 방향 흔들림을, 그리고, y축 흔들림은 시청 영역에 대응되는 영상의 상, 하 방향 흔들림을 의미하며, 시청 영역에 대응되는 영상의 회전 흔들림은 시청 영역의 중심을 기준으로 영상이 시계 방향 또는 반 시계 방향으로 회전하는 흔들림을 의미할 수 있다.
따라서, 프로세서(120)는 카메라의 흔들림 정보를 사용자의 시청 영역에 대응되는 영상의 흔들림 정보로 변환하고, 이를 이용하여 흔들림 보정값을 산출할 수 있다. 구체적으로, 프로세서(120)는 사용자의 시청 영역을 결정하는 디스플레이 장치(100)의 모션 상태에 기초하여, 카메라의 흔들림 정보를 사용자의 시청 영역에 대응되는 영상의 2축 흔들림 정보 또는 3축 흔들림 정보로 변환할 수 있다. 여기서, 2축 흔들림 정보는 사용자의 시청 영역에 대응되는 영상의 x축 흔들림 정보 및 y축 흔들림 정보를 의미하고, 3 축 흔들림 정보는 사용자의 시청 영역에 대응되는 영상의 x축 흔들림 정보, y축 흔들림 정보 및 회전 흔들림 정보를 의미할 수 있다.
전술한 바와 같이, 디스플레이 장치(100)를 착용한 사용자가 고개를 돌리면, 디스플레이 장치(100)는 이를 감지하여 사용자가 고개를 움직인 만큼 변경된 시청 영역에 대응되는 영상을 디스플레이할 수 있다. 즉, 디스플레이 장치(100)가 착용된 상태에서 사용자가 고개를 움직이면 디스플레이 장치(100) 역시 함께 움직이게 되므로, 디스플레이 장치(100)는 후술할 바와 같이 각종 센서를 통해 디스플레이 장치(100)의 모션 상태를 감지하여 사용자의 시청 영역을 결정할 수 있다. 이때, 사용자의 시청 영역은 기준점(예를 들어, 카메라(50)의 전면 중심 부분에 대응되는 VR 영상의 지점)에 대한 요, 피치, 롤 값과 같이 구 좌표값으로 표현될 수 있으나, 이에 한정되는 것은 아니다.
이에 따라, 프로세서(120)는 카메라의 흔들림 정보를 사용자의 시청 영역에 대응되는 영상의 2축 흔들림 정보 또는 3축 흔들림 정보로 변환할 수 있다.
도 5b 및 도 5c는 프로세서(120)가 카메라의 흔들림 정보를 VR 영상 중 앞 영역(510) 및 뒤 영역(520)에 대응되는 영상의 2축 흔들림 정보로 변환하는 예를 도시하고 있다. 도 5b는 6가지 움직임 성분의 카메라 흔들림 정보를 나타내고, 도 5c는 VR 영상 중 전면 영역(510)에 대응되는 영상의 x, y축 흔들림 정보(530) 및 후면 영역(520)에 대응되는 영상의 x, y축 흔들림 정보(540)를 나타내며, 각 정보를 나타내는 그래프에서 x축은 영상 프레임의 번호를 나타내고, y축은 픽셀단위의 변화량을 나타낸다.
프로세서(120)는 예를 들어, 아래의 수학식을 이용하여 도 B와 같은 카메라 흔들림 정보를 도 5c와 같은 사용자의 시청 영역에 대응되는 영상의 2축 흔들림 정보로 변환할 수 있다. 그러나, 카메라의 흔들림 정보를 사용자의 시청 영역에 대응되는 영상의 흔들림 정보로 변환하는 수식이 이에 한정되는 것이 아님은 물론이다.
[수학식 2]
rx = Tx * sinθH - Tz * cosθH + Yawc * cosφH + Rollc * sinφH * sinθH + Pitchc * sinφH * cosθH
ry = Ty * cosφH - Tz * sinφH * sinθH - Tx * cosθH * sinφH + Pitchc * sinθH - Rollc
* cosθH
여기서, rx는 사용자의 시청 영역에 대응되는 영상의 x축 흔들림 정보, ry는 사용자의 시청 영역에 대응되는 영상의 y축 흔들림 정보, Tx는 카메라(50)의 x축 방향 직선 움직임 정보, Ty는 카메라(50)의 y축 방향 직선 움직임 정보, Tz는 카메라(50)의 z축 방향 직선 움직임 정보, Yawc는 카메라(50)의 요(yaw) 회전 움직임 정보, Pitchc는 카메라(50)의 피치(pitch) 회전 움직임 정보, Rollc는 카메라(50)의 롤(roll) 회전 움직임 정보, θH는 사용자의 시청 영역의 요(yaw) 좌표, φH는 사용자의 시청 영역의 피치(Pitch)좌표를 나타낸다.
한편, 위 수학식 2에서는 카메라(50)의 6가지 움직임 성분을 사용자의 시청 영역에 대응되는 영상의 2축 흔들림 정보로 변환하기 위해, 사용자의 시청 영역의 롤(roll) 좌표를 0°로 설정하였으나, 이에 한정되는 것은 아니다.
즉, 본 개시의 다른 일 실시 예에 따르면, 프로세서(120)는 사용자의 시청 영역의 롤(roll) 좌표(예를 들어, 사용자의 시청 영역이 수평선을 기준으로 시계 방향 또는 반시계 방향으로 회전된 각도) 및 카메라(50)의 움직임 성분들을 이용하여, 사용자의 시청 영역에 대응되는 영상의 회전 흔들림 정보(rθ)를 계산할 수 있으며, 이 경우, 카메라(50)의 흔들림 정보는 사용자의 시청 영역에 대응되는 영상의 3축 흔들림 정보로 변환될 수 있다.
한편, 도 5c를 보면, 카메라의 동일한 6가지 움직임 정보가 사용자의 시청 영역(도 5c에서는 전면 영역 및 후면 영역)에 따라 서로 다른 흔들림 정보로 나타나는 것을 확인할 수 있다.
이에 따라, 프로세서(120)는 사용자의 시청 영역에 대응되는 영상의 흔들림 정보를 이용하여 흔들림 보정값을 산출할 수 있다. 여기서, 사용자의 시청 영역에 대응되는 흔들림 정보는 전술한 2축 흔들림 정보 또는 3축 흔들림 정보일 수 있다. 구체적으로, 프로세서(120)는 2축 또는 3축 흔들림 정보를 스무딩(smoothing)하고, 스무딩된 2축 또는 3축 흔들림 정보와 스무딩 되기 전 2축 또는 3축 흔들림 정보의 차이값을 산출하며, 산출된 차이값을 구의 회전 값으로 변환하여 흔들림 보정값을 산출할 수 있다.
본 개시의 일 실시 예에 따르면, 프로세서(120)는 2축 흔들림 정보에서 고주파 성분을 제거하여 2축 흔들림 정보를 스무딩할 수 있다. 구체적으로, 프로세서(120)는 2축 흔들림 정보에 칼만 필터(Kalman Filter)나 평균 필터(Average Filter)등과 같은 필터를 적용하여 2축 흔들림 정보를 스무딩할 수 있으나, 이에 한정되는 것은 아니다.
또한, 프로세서(120)는 스무딩되기 전 2축 흔들림 정보와 스무딩된 2축 흔들림 정보의 차이값을 산출할 수 있다. 도 5d는 한 시청 영역(예를 들어, 전면 영역)의 2축 흔들림 정보 각각에서 차이값을 산출하는 예를 도시하고 있다. 도 5d의 그래프 역시 x축은 영상 프레임의 번호를 나타내고, y축은 픽셀 단위의 변화량을 나타낸다.
구체적으로, 도 5d의 (a)에서 rx는 x축 흔들림 정보를 나타내고, fx는 스무딩된 x축 흔들림 정보를 나타낸다. 프로세서(120)는 영상 프레임마다 스무딩되기 전 x축 흔들림 정보값(rx)에서 스무딩된 x축 흔들림 정보값(fx)을 빼서 그 차이값(dx)을 산출할 수 있다. 프로세서(120)는 y축 흔들림 정보에 대하여도 같은 연산을 수행하여, 도 5d의 (b)에 도시된 바와 같이 차이값(dy)을 산출할 수 있다.
한편, 도 5d에서 스무딩된 2축 흔들림 정보는 카메라(50) 사용자의 의도된 움직임(예를 들어, 카메라를 들고 특정 방향으로 걸어가면서 VR 영상을 촬영하는 경우, 특정 방향으로 걸어가는 움직임에 따른 카메라(50)의 움직임)에 해당하며, 산출된 차이값(dx, dy)이 ERP 포맷의 영상에서 보정되어야 할 x, y축 흔들림 값, 즉, 카메라(50)의 떨림이 된다. 따라서, 산출된 차이값(dx, dy)이 후술할 바와 같이 사용자의 시청 영역을 조정하는데 이용되게 된다.
한편, 전술한 바와 같이, 사용자의 시청 영역은 일반적으로 기준점에 대한 요, 피치, 롤 값과 같이 구좌표로 표현되므로, 프로세서(120)는 사용자의 시청 영역에 대응되는 영상의 흔들림 보정을 위해 상기 산출된 차이값을 구좌표 상의 회전값로 변환할 수 있다. 즉, 프로세서(120)는 (dx, dy) 값을 (dYaw, dPitch, dRoll)값으로 변환할 수 있다.
예를 들어, VR 영상이 3840*1920의 해상도를 갖는 영상인 경우, 프로세서(120)는 아래의 수학식을 통해 ERP 포맷 영상의 x, y 좌표상의 흔들림 값을 구좌표 상의 회전 값으로 변환할 수 있다. 그러나, 아래 수학식은 하나의 예에 불과할 뿐, 이에 한정되는 것은 아니다.
[수학식 3]
dYaw = (360°/3840) * dx
dPitch = (360°/3840) * dy
dRoll = 0°
이와 같이, 구의 회전값으로 변환된 값이 최종 흔들림 보정값이 된다. 프로세서(120)는 이와 같이 산출된 흔들림 보정값에 기초하여 VR 영상에서 시청 영역을 조정할 수 있다. 구체적으로, 프로세서(120)는 VR 영상에서 흔들림 보정값만큼 시청 영역을 이동시켜 시청 영역을 조정할 수 있다.
한편, 전술한 바와 같이, 프로세서(120)는 카메라의 흔들림 정보를 사용자의 시청 영역에 대응되는 영상의 3축 흔들림 정보(rx, ry, rθ)로 변환할 수도 있으므로, 본 개시의 다른 일 실시 예에 따르면, 프로세서(120)는 3축 흔들림 정보에 칼만 필터나 평균 필터 등을 적용하여 고주파 성분을 제거하여 3축 흔들림 정보를 스무딩하고, 스무딩 되기 전 3축 흔들림 정보와 스무딩된 3축 흔들림 정보의 차이값(dx, dy, dθ)을 산출할 수도 있다.
이에 따라, 프로세서(120)는 상기 산출된 차이값(dx, dy, dθ)을 구 좌표 상의 회전값(dYaw, dPitch, dRoll)으로 변환하여 3축 흔들림 보정값을 산출하고, 산출된 3축 흔들림 보정값을 이용하여 VR 영상에서 사용자의 시청 영역을 조정할 수도 있다.
이에 따라, 프로세서(120)는 VR 영상에서 조정된 시청 영역에 대응되는 영상을 디스플레이하도록 디스플레이(110)를 제어함으로써, 사용자의 시청 영역에 대응되는 영상의 흔들림을 저감시킬 수 있게 된다.
도 6은 본 개시의 일 실시 예에 따라 2축 흔들림 보정값이 VR 영상에 적용되는 개념을 설명하기 위한 도면이다. 도 6의 (a)에서 참조 부호 610, 620은 ERP 포맷의 전체 VR 영상 프레임을 나타내고, 참조 부호 611은 사용자의 시청 영역을 나타낸다. 디스플레이 장치(100) 사용자가 디스플레이 장치(100)를 착용하고 고개를 움직이지 않고 같은 방향을 바라보는 경우, 전체 VR 영상에서 사용자의 시청 영역(611)은 영상 프레임이 바뀌더라도 도시된 바와 같이 동일하다.
*그러나, VR 영상을 촬영한 카메라가 흔들리는 등의 이유로 VR 영상 자체에 흔들림이 있는 경우, 시청 영역(611)이 동일하더라도 시청 영역(611)에 포함되어 있는 오브젝트(605)는 흔들림으로 인해 시청 영역(611) 내에서 디스플레이되는 위치가 달라질 수 있으며, 이는 사용자의 눈에 피로나 부담감을 유발하게 된다.
이때, 본 개시의 일 실시 예에 따르면, 시청 영역에 대응되는 영상의 흔들림 보정값만큼 시청 영역을 조정하여 조정된 시청 영역(622)에 대응되는 영상을 디스플레이하게 되므로, VR 영상을 촬영한 카메라의 흔들림으로 인해 VR 영상 자체에 흔들림이 있더라도 사용자는 흔들림이 없거나 흔들림이 저감된 영상을 시청할 수 있게 된다.
도 6의 (a)에 도시된 바와 같이, 프로세서(120)는 먼저 EPR 포맷의 영상을 이용하여 사용자의 시청 영역에 대응되는 영상의 x, y축 흔들림 보정값인 dx, dy를 산출한다. 그러나, 전술한 바와 같이, 사용자의 시청 영역은 기준점에 대한 요, 피치, 롤 값과 같이 구 좌표값으로 결정되므로, x, y축 흔들림 보정값인 dx, dy를 구좌표 상의 회전 값으로 변환하여 시청 영역을 조정하게 된다. 도 6의 (b)는 이와 같이 구좌표 상에서 변환된 회전 값만큼 시청 영역을 조정하여 조정된 시청 영역에 대응되는 영상을 디스플레이하는 개념을 도시하고 있다.
한편, 위와 같은 흔들림 보정값은 도 5d에서 보는 바와 같이 고주파 성분으로 그 크기가 충분히 작기 때문에, 카메라의 회전 움직임 및 직선 움직임 성분의 흔들림을 모두 구의 회전 값으로 근사화하는 것이 합리적일 수 있는 것이다.
한편, 도 6에서는 설명의 편의를 위해 2축 흔들림 보정값이 VR 영상에 적용되는 개념만을 도시하였으나, 3축 흔들림 보정값을 적용하는 경우, x축 흔들림 보정값(dx) 및 y축 흔들림 보정값(dy)에 더하여 회전 흔들림 보정값(dθ) 까지 이용하여 VR 영상의 시청 영역을 조정할 수 있음은 상기 도 6에 관한 설명을 이해한 당업자라면 쉽게 이해할 수 있을 것이다. 이 경우 또한 EPR 포맷의 영상을 이용하여 산출된 사용자의 시청 영역에 대응되는 영상의 흔들림 보정값인 dx, dy, dθ 를, 구좌표 상의 회전 값인 dYaw, dPitch, dRoll 로 변환하여 시청 영역을 조정할 수 있다.
한편, 보통의 시야각을 갖는 일반 카메라 영상에 대해 회전 흔들림을 보정하는 경우, 트리밍(trimming) 또는 크롭핑(cropping) 과정에서 해상도의 손실이 발생될 수 있다. 그러나, VR 영상의 경우 360도 전경을 포함하므로, 회전 흔들림 정보를 이용하여 영상의 회전 흔들림을 보정하더라도, 즉, 시청 영역을 조정하더라도 해상도의 손실이 발생되지 않는다. 따라서, 3축 흔들림 정보를 이용하여 시청 영역을 조정함으로써 VR 영상의 흔들림을 보정하는 경우, 해상도 손실없이 보다 정밀한 흔들림 보정이 가능해 진다.
도 7은 본 개시의 다른 일 실시 예에 따른 디스플레이 장치의 구성을 나타내는 상세 블럭도이다. 도 7을 설명함에 있어, 전술한 것과 동일한 구성의 동일한 동작에 관해서는 중복되는 설명을 생략한다. 도 7에 따르면, 디스플레이 장치(100)는 디스플레이(110), 프로세서(120), 통신부(130), 입력부(140), 오디오 출력부(150), 저장부(160) 및 감지부(170)를 포함할 수 있다.
디스플레이(110)는 프로세서(120)의 제어를 받아 각종 UI를 디스플레이할 수 있다. 특히, 디스플레이(110)는 사용자의 시청 영역에 대응되는 영상의 흔들림을 보정하는 흔들림 보정 모드 실행을 위한 UI를 디스플레이할 수 있다. 또한, 디스플레이(110)는 사용자의 시청 영역에 대응되는 영상의 흔들림 보정 정도를 조절하는 흔들림 보정 정도 조정 UI를 디스플레이할 수도 있다.
통신부(130)는 근거리 통신 모듈(131), 무선 통신 모듈(132) 및 커넥터(133)를 포함할 수 있다. 근거리 통신 모듈(131)은 디스플레이 장치(100)와 주변의 전자 장치(미도시) 사이에 무선으로 근거리 통신을 수행하는 구성이다. 이 같은 근거리 통신 모듈(131)은 블루투스(bluetooth)모듈, 적외선 통신(IrDA, infrared data association)모듈, NFC(Near Field Communication)모듈, 와이파이(WIFI)모듈, 지그비(Zigbee) 모듈 중 적어도 하나를 포함할 수 있다.
무선 통신 모듈(132)은 IEEE 등과 같은 무선 통신 프로토콜에 따라 외부 네트워크에 연결되어 통신을 수행하는 모듈이다. 이 밖에 무선 통신 모듈은 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution) 등과 같은 다양한 이동 통신 규격에 따라 이동 통신망에 접속하여 통신을 수행하는 이동 통신 모듈을 더 포함할 수도 있다.
이처럼 통신부(130)는 상술한 다양한 근거리 통신 및 무선 통신 방식에 의해 구현될 수 있고, 필요에 따라 본 명세서에 언급되지 않은 다른 통신 기술을 채용할 수 있다.
한편, 커넥터(133)는 USB 2.0, USB 3.0, HDMI, IEEE 1394 등 다양한 표준에 따라 외부 장치와의 인터페이스를 제공하는 구성이다.
특히, 통신부(130)는 VR 영상을 촬영하는 360도 카메라를 포함한 외부의 단말과 상술한 각종 유, 무선 방식으로 연결되어 VR 영상 컨텐츠를 송, 수신할 수 있다. 또한, 통신부(130)는 외부 서버로부터 VR 영상 컨텐츠를 수신할 수도 있다. 이때, 통신부(130)는 스트리밍으로 VR 영상 컨텐츠를 수신할 수도 있다. 또한, 통신부(130)는 카메라에 포함된 센서를 통해 획득된 카메라의 흔들림 정보를 수신할 수도 있다.
또한, 실시 예에 따라 통신부(130)는 커넥터(133)를 통해 분리형 HMD와 연결되어 VR 영상 컨텐츠의 재생과 관련된 각종 제어 명령을 송, 수신할 수 있다. 또한, 분리형 HMD에 사용자의 고개 움직임을 감지하기 위한 각종 센서가 구비되어 있는 경우, 디스플레이 장치(100)는 통신부(130)를 통해 사용자의 시청 영역을 결정하기 위한 HMD의 센서 데이터를 수신할 수도 있다.
입력부(140)는 다양한 사용자 명령을 입력받아 프로세서(120)로 전달하기 위한 입력 수단으로써, 마이크(141), 조작부(142), 터치 입력부(143) 및 사용자 통신부(144)를 포함할 수 있다.
마이크(141)는 사용자의 음성을 입력받으며, 조작부(142)는 각종 기능키, 숫자키, 특수키, 문자키 등을 구비한 키패드(Key Pad)로 구현될 수 있다. 그리고, 터치 입력부(143)는 디스플레이(110)과 상호 레어어 구조를 이루는 터치 스크린으로 구현될 수 있다. 이 경우, 터치 입력부(143)는 디스플레이(110)를 통해 디스플레이된 다양한 어플리케이션 관련 아이콘에 대한 선택 명령을 입력받을 수 있다. 사용자 입력부(144)는 적어도 하나의 주변 기기(미도시)로부터 디스플레이 장치(100)의 동작을 제어하기 위한 각종 유, 무선 신호를 입력받을 수 있다.
오디오 출력부(150)는 각종 컨텐츠의 오디오를 출력할 수 있다. 특히, 오디오 출력부(150)는 오디오 신호 처리된 오디오 데이터를 가청음 형태로 출력할 수 있다.
저장부(160)는 각종 프로그램 및 데이터를 저장할 수 있다. 특히 저장부(160)는 외부 단말이나 서버로부터 수신한 각종 VR 영상을 저장할 수 있다.
특히, 도 2 내지 도 7을 통해 설명되는 프로세서(120)의 동작이 소프트웨어 프로그램 형태로 구현된 경우, 이러한 소프트웨어 모듈을 저장할 수 있다. 예를 들어, 저장부(160)는 VR 영상을 구성하는 복수의 영상 프레임을 분석하여 VR 영상을 촬영한 카메라의 흔들림 정보를 판단하는 카메라 흔들림 판단 모듈(미도시), 카메라 흔들림 정보에 기초하여 VR 영상에서 사용자의 시청 영역에 대응되는 영상의 흔들림 보정값을 산출하는 흔들림 보정값 산출 모듈(미도시) 및 흔들림 보정값에 기초하여 시청 영역을 조정하고, 조정된 시청 영역에 대응되는 영상을 디스플레이하는 시청 영역 조정 모듈(미도시)를 포함할 수 있다. 이에 따라, 프로세서(120)는 저장부(160)에 저장된 상기 모듈을 읽어 도 2 내지 도 7을 통해 전술한 바와 같이 동작할 수 있다.
또한, 저장부(160)는 디스플레이 장치(100)의 동작을 제어하기 위한 운용 프로그램을 더 저장할 수 있다. 여기서, 운용 프로그램은 디스플레이 장치(100)가 턴 온(Turn On)되는 경우, 저장부(160)에서 읽혀지고, 컴파일되어 디스플레이 장치(100)의 각 구성을 동작시키는 프로그램이 될 수 있다.
저장부(160)는 디스플레이 장치(100)에 탈착/장착 가능한 메모리 카드(예, SD 카드, 메모리 스틱), 각종 비휘발성 메모리 및 휘발성 메모리, 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다.
움직임 센서(170)는 디스플레이 장치(100)의 움직임을 감지하기 위한 구성이다. 움직임 센서(170)는 지자기 센서(171), 가속도 센서(172) 및 자이로 센서(173) 중 적어도 하나의 센서를 포함할 수 있다. 움직임 센서(170)에 포함된 각종 센서는 이들 중 하나 또는 둘 이상의 조합을 통하여 디스플레이 장치(100)의 3차원 움직임을 감지할 수 있다.
지자기 센서(171)는 방위각(azimuth)을 측정하는 센서이다. 즉, 지자기 센서(171)는 지구의 남북 방향으로 형성되어 있는 자기장(magnetic field)을 감지하여 방위각을 측정하는 센서를 의미한다. 지자기 센서(171)는 3축 방향의 지자기를 감지할 수 있다. 지자기 센서(171)로 측정되는 북쪽 방향은 자북(magnetic north)일 수 있다. 다만, 지자기 센서(171)가 자북의 방향을 측정한다고 하더라도, 내부적인 연산을 거쳐 진북(true north)의 방향을 출력할 수도 있음은 물론이다.
가속도 센서(172)는 디스플레이 장치(100)의 공간상 움직임을 측정하는 센서이다. 즉, 가속도 센서(172)는 사용자가 디스플레이 장치(100)가 이동할 때 발생하는 가속도의 변화 및/또는 각가속도의 변화를 감지하는 센서를 의미한다. 가속도 센서(172)는 3축 방향의 가속도를 감지할 수 있다. 또한, 가속도 센서(172)는 디스플레이 장치(100)의 기울어짐을 감지할 수 있다.
자이로(gyro) 센서(173)는 디스플레이 장치(100)의 회전 각속도를 측정하는 관성 센서이다. 즉, 회전하는 물체가 가진 관성력을 이용하여 현재의 방향을 알 수 있는 센서를 의미한다. 자이로 센서(173)는 2축 방향의 회전 각속도를 측정할 수 있다.
특히, 움직임 센서(170)는 디스플레이 장치(100)가 사용자에게 착용된 상태에서 디스플레이 장치(100)가 움직이는 방향, 회전 각속도 등을 인식하여 그 데이터를 프로세서(120)로 제공할 수 있다. 이에 따라, 프로세서(120)는 디스플레이되는 VR 영상에서 사용자의 시청 방향을 결정할 수 있다.
한편, 도시하지는 않았지만, 디스플레이 장치(100)는 중력이 어느 방향으로 작용하는지 탐지하는 중력 센서(Gravity Sensor), 사용자의 시선 변화를 감지하는 동공 추적 센서, 사물이 다른 사물에 접촉되기 이전에 근접하였는지 여부를 감지하는 근접 센서 등을 더 포함할 수 있다.
한편, 프로세서(120)는 CPU(124), GPU(125), RAM(126) 및 ROM(127)을 포함할 수 있으며, CPU(124), GPU(125), RAM(126) 및 ROM(127)는 버스(121)를 통해 서로 연결될 수 있다.
CPU(124)는 저장부(160)를 액세스하여, 저장부(160)에 저장된 OS를 이용하여 부팅을 수행한다. 또한 CPU(124)는 저장부(160)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.
GPU(125)는 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 디스플레이 화면을 생성한다. 구체적으로, GPU(125)는 수신된 제어 명령에 기초하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산하고, 연상된 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 디스플레이 화면을 생성한다.
ROM(126)은 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, CPU(124)는 ROM(125)에 저장된 명령어에 따라 저장부(160)에 저장된 OS를 RAM(126)에 복사하고, OS를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, CPU(124)는 저장부(160)에 저장된 각종 프로그램을 RAM(126)에 복사하고, RAM(126)에 복사된 프로그램을 실행시켜 각종 동작을 수행한다.
이 같은 프로세서(120)는 전술한 각 구성들과 결합되어 단일칩 시스템(System-on-a-chip 또는 System on chip, SOC, SoC)으로 구현될 수도 있다.
프로세서(120)는 입력부(140)를 통한 사용자 명령에 따라 저장부(160)에 저장된 VR 영상이나 통신부(130)를 통해 스트리밍으로 수신되는 VR 영상을 디스플레이하도록 디스플레이(110)를 제어할 수 있다. 또한, VR 영상을 디스플레이할 때 프로세서(120)는 전술한 바와 같이 시청 영역에 대응되는 영상의 흔들림 보정값을 산출하고, 산출된 흔들림 보정값에 따라 시청 영역을 조정하여 조정된 시청 영역에 대응되는 영상을 디스플레이함으로써, 디스플레이되는 VR 영상의 흔들림을 저감시킬 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 프로세서(120)는 VR 영상을 촬영한 카메라에 포함된 센서를 통해 획득된 흔들림 정보를 이용할 수도 있다. 구체적으로, VR 영상을 촬영하는 360도 카메라에 흔들림을 감지하는 센서가 포함된 경우가 있을 수 있다. 이 경우, 카메라는 VR 영상을 촬영하면서 발생하는 카메라의 흔들림을 감지하여, 카메라의 x축 방향의 움직임 정보, y축 방향의 움직임 정보, z축 방향의 움직임 정보, 요(yaw) 회전 움직임 정보, 피치(pitch) 회전 움직임 정보 및 롤(roll) 회전 움직임 정보와 같은 각종 흔들림 정보를 획득할 수 있다.
이 경우, 카메라는 촬영된 VR 영상뿐만 아니라 VR 영상 촬영 당시의 흔들림 정보를 제공할 수 있으므로, 프로세서(120)는 이와 같이 카메라로부터 제공된 카메라의 흔들림 정보를 통신부(130)를 통해 수신하고, 수신된 흔들림 정보를 이용하여도 2 내지 도 6을 통해 전술한 바와 같은 동작을 수행할 수 있다.
또한, 본 개시의 다른 일 실시 예에 따르면, 프로세서(120)는 VR 영상에 포함된 복수의 프레임을 분석한 결과와 카메라에 포함된 센서를 통해 획득된 카메라의 흔들림 정보를 함께 이용하여 카메라의 흔들림 정보를 판단할 수 있다.
예를 들어, 전술한 6가지 카메라의 움직임 정보 중 카메라에 포함된 센서를 통해 획득된 정보가 제공된 것은 이를 이용하고, 나머지는 VR 영상을 분석한 결과를 이용할 수 있을 것이다.
또한, 카메라에 포함된 센서를 통해 획득된 카메라의 움직임 정보가 제공되더라도 VR 영상 분석을 통해 획득한 카메라 움직임 정보와 평균하거나 또는 가중치를 달리 두고 조합하여 카메라의 흔들림 정보를 판단할 수도 있을 것이다.
이와 같이, 프로세서(130)가 VR 영상 분석 결과와 카메라에 포함된 센서를 통해 획득된 흔들림 정보를 함께 이용하는 방법에 제한은 없다.
한편, 개시의 일 실시 예에 따르면, 프로세서(120)는 사용자의 시청 영역에 대응되는 영상의 흔들림을 보정하는 흔들림 보정 모드 실행을 위한 UI를 디스플레이하도록 디스플레이(110)를 제어할 수 있다. 이에 따라, 흔들림 보정 모드가 실행되면 프로세서(120)는 흔들림 보정값을 산출할 수 있다.
즉, 본 개시의 일 실시 예에 따르면, 프로세서(120)는 VR 영상을 촬영한 카메라의 흔들림 정보는 미리 VR 영상을 분석하여 저장부(160)에 저장할 수 있다. 다만, 흔들림 보정값은 사용자의 시청 영역이 결정되어야 산출될 수 있으므로, 사용자가 UI를 통해 흔들림 보정 모드를 실행하고 VR 영상을 시청하는 경우, 흔들림 보정값을 산출할 수 있다.
다만, 실시 예가 이에 한정되는 것은 아니며, 실시 예에 따라 디스플레이 장치(100)를 착용하고 VR 영상을 시청할 때, 카메라의 흔들림 정보와 시청 영역에 대응되는 영상의 흔들림 보정값을 산출할 수도 있을 것이다.
도 8의 (a) 및 (b)는 흔들림 보정 모드 실행 UI의 일 예를 나타내고 있다. 사용자은 VR 영상을 시청하기 전에, 도 8의 (a)와 같은 UI에서 Yes(810)를 선택하거나 도 8의 (b)와 같은 UI에서 흔들림 보정 모드가 실행되도록 설정함으로써, 디스플레이 장치(100)를 통해 VR 영상을 감상할 때, 흔들림이 저감된 영상을 볼 수 있다.
한편, 본 개시의 다른 일 실시 예에 따르면, 프로세서(120)는 사용자의 시청 영역에 대응되는 영상의 흔들림 보정 정도를 조절하는 흔들림 보정 정도 조정 UI를 디스플레이하도록 디스플레이(110)를 제어할 수 있다.
흔들림 보정 정도 조정 UI를 통한 사용자 조작이 있는 경우, 프로세서(120)는 사용자의 시청 영역에 대응되는 영상의 흔들림 정보의 스무딩 강도를 조정하여 흔들림 보정 정도를 조절할 수 있다.
전술한 바와 같이, 칼만 필터 등과 같은 각종 필터를 적용하여 고주파 성분을 제거함으로써 2축 흔들림 정보 또는 3축 흔들림 정보를 스무딩하게 되므로, 프로세서(120)는 필터의 적용 강도를 조정하여 2축 흔들림 정보 또는 3축 흔들림 정보의 스무딩 강도를 조정할 수 있다.
예를 들어, 도 5d의 예에서 고주파 성분을 많이 제거하여 스무딩을 강하게 하는 경우, 스무딩 전의 x축 흔들림 정보와 스무딩된 x축 흔들림 정보의 차이값 및 스무딩 전의 y축 흔들림 정보와 스무딩된 y축 흔들림 정보의 차이값이 커지게 되므로, 각 흔들림 보정값(dx, dy)이 커지게 되며, 스무딩을 약하게 하는 경우에는 스무딩 전, 후로 차이값이 작아지게 되어 흔들림 보정값(dx, dy)이 작아지게 된다.
한편, 3축 흔들림 정보를 스무딩하는 경우라면, 스무딩을 강하게 하는 경우에는 스무딩 전, 후의, x축, y축 및 회전 흔들림 정보의 차이값이 각각 커지게 되므로, 흔들림 보정값(dx, dy, dθ)이 커지게 되며, 스무딩을 약하게 하는 경우에는 차이값이 작아지게 되어 흔들림 보정값(dx, dy, dθ)이 작아지게 될 것이다.
이에 따라, 프로세서(120)는 흔들림 보정값에 기초하여 사용자의 시청 영역을 조정하게 되므로, 영상의 흔들림 정보의 스무딩 강도 조정을 통해 흔들림 보정 정도가 조절될 수 있다.
도 8의 (c)는 흔들림 보정 정도 조정 UI의 일 예를 나타낸다. 사용자가 흔들림 보정 정도 조정 UI(830)을 조작하여 흔들림 보정 정도를 조정하는 경우, 프로세서(120)는 이에 대응되게 스무딩 강도를 조정하여 흔들림 보정 정도를 조정할 수 있다.
도 9는 본 개시의 일 실시 예에 따른 디스플레이 장치의 영상 처리 방법을 나타내는 흐름도이다. 도 9에 따르면, 디스플레이 장치(100)는 VR 영상을 구성하는 복수의 영상 프레임을 분석하여 VR 영상을 촬영한 카메라의 흔들림 정보를 판단할 수 있다(S910).
구체적으로, 디스플레이 장치(100)는 복수의 영상 프레임 각각을 복수의 영역으로 구분하고, 복수의 영상 프레임에서 서로 대응되는 영역별로 특징점을 검출하며, 검출된 특징점 간의 변화량에 기초하여 카메라의 흔들림 정보를 판단할 수 있다.
또한, 디스플레이 장치(100)는 복수의 영상 프레임에 대한 분석결과와 카메라에 포함된 센서를 통해 획득된 흔들림 정보를 함께 이용하여 흔들림 정보를 판단할 수도 있다.
여기서, 카메라의 흔들림 정보는 기설정된 방향을 기준으로 카메라의 x축 방향의 움직임 정보, y축 방향의 움직임 정보, z축 방향의 움직임 정보, 요(yaw) 회전 움직임 정보, 피치(pitch) 회전 움직임 정보 및 롤(roll) 회전 움직임 정보 중 적어도 하나를 포함할 수 있다.
이에 따라, 디스플레이 장치(100)는 카메라의 흔들림 정보에 기초하여 VR 영상에서 사용자의 시청 영역에 대응되는 영상의 흔들림 보정값을 산출할 수 있다(S920).
구체적으로, 디스플레이 장치(100)는 시청 영역을 결정하는 디스플레이 장치의 모션 상태에 기초하여 카메라의 흔들림 정보를 시청 영역에 대응되는 영상의 흔들림 정보로 변환하고, 시청 영역에 대응되는 영상의 흔들림 정보를 이용하여 흔들림 보정값을 산출할 수 있다.
보다 구체적으로, 디스플레이 장치(100)는 영상의 흔들림 정보를 스무딩(smoothing)하고, 스무딩 전의 영상의 흔들림 정보와 스무딩된 영상의 흔들림 정보의 차이값을 산출하며, 산출된 차이값을 구의 회전 값으로 변환하여 흔들림 보정값을 산출할 수 있다.
이때, 영상의 흔들림 정보는 시청 영역에 대응되는 영상의 x축 흔들림 정보 및 y축 흔들림 정보를 포함하는 2축 흔들림 정보 또는 시청 영역에 대응되는 영상의 x축 흔들림 정보, y축 흔들림 정보 및 회전 흔들림 정보를 포함하는 3축 흔들림 정보일 수 있다.
이에 따라, 디스플레이 장치(100)는 산출된 흔들림 보정값에 기초하여 시청 영역을 조정하고, VR 영상에서 조정된 시청 영역에 대응되는 영상을 디스플레이할 수 있다(S930).
구체적으로, 디스플레이 장치(100)는 VR 영상에서 시청 영역을 흔들림 보정값만큼 이동시켜 시청 영역을 조절하고, 이동된 시청 영역에 대응되는 영상을 디스플레이할 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 디스플레이 장치(100)는 사용자의 시청 영역에 대응되는 영상의 흔들림을 보정하는 흔들림 보정 모드 실행을 위한 UI를 디스플레이할 수 있다. 이에 따라, 흔들림 보정 모드가 실행되면, 디스플레이 장치(100)는 흔들림 보정값을 산출할 수 있다.
한편, 본 개시의 다른 일 실시 예에 따르면, 디스플레이 장치(100)는 사용자의 시청 영역에 대응되는 영상의 흔들림 보정 정도를 조절하는 흔들림 보정 정도 조정 UI를 디스플레이할 수 있다. 이에 따라, 디스플레이 장치(100)는 흔들림 보정 정도 조정 UI를 통한 사용자 조작에 따라 영상의 흔들림 정보의 스무딩 강도를 조정함으로써, VR 영상에서 흔들림 보정 정도를 조절할 수 있다.
이상과 같은 본 개시의 다양한 실시 예들에 따르면, 디스플레이 장치는 흔들림이 저감된 VR(Virtual Reality) 영상을 디스플레이할 수 있게 된다.
구체적으로, 본 개시의 다양한 실시 예들에 따르면, ERP 포맷의 입력 VR 영상을 변환하는 것이 아니라 그대로 사용할 수 있어, 스트리밍으로 VR 영상을 디스플레이하는 경우에도 흔들림이 저감된 영상을 디스플레이할 수 있다.
또한, VR 영상을 촬영한 카메라의 회전 움직임뿐만 아니라 x, y, z 축 방향의 직선형 움직임까지 고려하여 흔들림을 저감시킬 수 있다.
또한, 입력 VR 영상을 변환하는 것이 아니므로, 사용자가 흔들림 보정 수준을 조절할 수 있으며, 흔들림 보정 기능의 On/Off가 가능해진다.
한편, 상술한 다양한 실시 예들에 따른 디스플레이 장치의 프로세서의 동작이나 디스플레이 장치의 영상 처리 방법들은 소프트웨어로 생성되어 디스플레이 장치에 탑재될 수 있다.
예를 들어, VR 영상을 구성하는 복수의 영상 프레임을 분석하여 VR 영상을 촬영한 카메라의 흔들림 정보를 판단하는 단계, 카메라의 흔들림 정보에 기초하여 VR 영상에서 사용자의 시청 영역에 대응되는 영상의 흔들림 보정값을 산출하는 단계 및 흔들림 보정값에 기초하여 시청 영역을 조절하고, VR 영상에서 조절된 시청 영역에 대응되는 영상을 디스플레이하는 단계를 포함하는 디스플레이 장치의 영상 처리 방법을 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 설치될 수 있다.
여기서, 비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 미들웨어 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 또한, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 따라서, 본 발명의 호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (15)
- 디스플레이 장치의 영상 처리 방법에 있어서,VR 영상을 구성하는 복수의 영상 프레임을 분석하여 상기 VR 영상을 촬영한 카메라의 흔들림 정보를 판단하는 단계;상기 카메라의 흔들림 정보에 기초하여 상기 VR 영상에서 사용자의 시청 영역에 대응되는 영상의 흔들림 보정값을 산출하는 단계; 및상기 흔들림 보정값에 기초하여 상기 시청 영역을 조정하고, 상기 VR 영상에서 상기 조정된 시청 영역에 대응되는 영상을 디스플레이하는 단계;를 포함하는 영상 처리 방법.
- 제 1 항에 있어서,상기 카메라의 흔들림 정보를 판단하는 단계는,상기 복수의 영상 프레임 각각을 복수의 영역으로 구분하고, 상기 복수의 영상 프레임에서 서로 대응되는 영역별로 특징점을 검출하는 단계; 및상기 검출된 특징점 간의 변화량에 기초하여 상기 카메라의 흔들림 정보를 판단하는 단계;를 포함하는 것을 특징으로 하는 영상 처리 방법.
- 제 1 항에 있어서,상기 카메라의 흔들림 정보는,기설정된 방향을 기준으로 상기 카메라의 x축 방향의 움직임 정보, y축 방향의 움직임 정보, z축 방향의 움직임 정보, 요(yaw) 회전 움직임 정보, 피치(pitch) 회전 움직임 정보 및 롤(roll) 회전 움직임 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 영상 처리 방법.
- 제 1 항에 있어서,상기 흔들림 보정값을 산출하는 단계는,상기 시청 영역을 결정하는 상기 디스플레이 장치의 모션 상태 기초하여 상기 카메라의 흔들림 정보를 상기 시청 영역에 대응되는 영상의 흔들림 정보로 변환하는 단계; 및상기 시청 영역에 대응되는 영상의 흔들림 정보를 이용하여 상기 흔들림 보정값을 산출하는 단계;를 포함하는 것을 특징으로 하는 영상 처리 방법.
- 제 4 항에 있어서,상기 흔들림 보정값을 산출하는 단계는,상기 영상의 흔들림 정보를 스무딩(smoothing)하는 단계;상기 영상의 흔들림 정보와 상기 스무딩된 영상의 흔들림 정보의 차이값을 산출하는 단계; 및상기 차이값을 구의 회전 값으로 변환하여 상기 흔들림 보정값을 산출하는 단계;를 포함하는 것을 특징으로 하는 영상 처리 방법.
- 제 4 항에 있어서,상기 영상의 흔들림 정보는,상기 시청 영역에 대응되는 영상의 x축 흔들림 정보 및 y축 흔들림 정보를 포함하는 2축 흔들림 정보 또는 상기 시청 영역에 대응되는 영상의 x축 흔들림 정보, y축 흔들림 정보 및 회전 흔들림 정보를 포함하는 3축 흔들림 정보인 것을 특징으로 하는 영상 처리 방법.
- 제 1 항에 있어서,상기 디스플레이하는 단계는,상기 VR 영상에서 상기 시청 영역을 상기 흔들림 보정값만큼 이동시켜 상기 시청 영역을 조절하고, 상기 이동된 시청 영역에 대응되는 영상을 디스플레이하는 것을 특징으로 하는 영상 처리 방법.
- 제 1 항에 있어서,상기 흔들림 정보를 판단하는 단계는,상기 복수의 영상 프레임에 대한 분석결과 및 상기 카메라에 포함된 센서를 통해 획득된 흔들림 정보를 이용하여 상기 흔들림 정보를 판단하는 것을 특징으로 하는 영상 처리 방법.
- 제 1 항에 있어서,상기 사용자의 시청 영역에 대응되는 영상의 흔들림을 보정하는 흔들림 보정 모드 실행을 위한 UI를 디스플레이하는 단계;를 더 포함하고,상기 흔들림 보정값을 산출하는 단계는,상기 흔들림 보정 모드가 실행되면, 상기 흔들림 보정값을 산출하는 것을 특징으로 하는 영상 처리 방법.
- 제 5 항에 있어서,상기 사용자의 시청 영역에 대응되는 영상의 흔들림 보정 정도를 조절하는 흔들림 보정 정도 조정 UI를 디스플레이하는 단계;를 더 포함하고,상기 스무딩하는 단계는,상기 흔들림 보정 정도 조정 UI를 통한 사용자 조작에 따라 상기 영상의 흔들림 정보의 스무딩 강도를 조정하는 것을 특징으로 하는 영상 처리 방법.
- 디스플레이 장치에 있어서,VR 영상에서 사용자 시청 영역에 대응되는 영상을 디스플레이하는 디스플레이; 및상기 VR 영상을 구성하는 복수의 영상 프레임을 분석하여 상기 VR 영상을 촬영한 카메라의 흔들림 정보를 판단하고, 상기 카메라의 흔들림 정보에 기초하여 상기 시청 영역에 대응되는 영상의 흔들림 보정값을 산출하고, 상기 흔들림 보정값에 기초하여 상기 시청 영역을 조정하며, 상기 VR 영상에서 상기 조정된 시청 영역에 대응되는 영상을 디스플레이하도록 상기 디스플레이를 제어하는 프로세서;를 포함하는 디스플레이 장치.
- 제 11 항에 있어서,상기 프로세서는,상기 복수의 영상 프레임 각각을 복수의 영역으로 구분하고, 상기 복수의 영상 프레임에서 서로 대응되는 영역별로 특징점을 검출하며, 상기 검출된 특징점 간의 변화량에 기초하여 상기 카메라의 흔들림 정보를 판단하는 것을 특징으로 하는 디스플레이 장치.
- 제 11 항에 있어서,상기 카메라의 흔들림 정보는,기설정된 방향을 기준으로 상기 카메라의 x축 방향의 움직임 정보, y축 방향의 움직임 정보, z축 방향의 움직임 정보, 요(yaw) 회전 움직임 정보, 피치(pitch) 회전 움직임 정보 및 롤(roll) 회전 움직임 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 디스플레이 장치.
- 제 11 항에 있어서,상기 프로세서는,상기 시청 영역을 결정하는 상기 디스플레이 장치의 모션 상태에 기초하여 상기 카메라의 흔들림 정보를 상기 시청 영역에 대응되는 영상의 흔들림 정보로 변환하고, 상기 시청 영역에 대응되는 영상의 흔들림 정보를 이용하여 상기 흔들림 보정값을 산출하는 것을 특징으로 하는 디스플레이 장치.
- 제 14 항에 있어서,상기 프로세서는,상기 영상의 흔들림 정보를 스무딩(smoothing)하고, 상기 영상의 흔들림 정보와 상기 스무딩된 영상의 흔들림 정보의 차이값을 산출하며, 상기 차이값을 구의 회전 값으로 변환하여 상기 흔들림 보정값을 산출하는 것을 특징으로 하는 디스플레이 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/342,047 US10915993B2 (en) | 2016-10-20 | 2017-10-20 | Display apparatus and image processing method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0136528 | 2016-10-20 | ||
KR1020160136528A KR102612988B1 (ko) | 2016-10-20 | 2016-10-20 | 디스플레이 장치 및 디스플레이 장치의 영상 처리 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018074893A1 true WO2018074893A1 (ko) | 2018-04-26 |
Family
ID=62018837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2017/011676 WO2018074893A1 (ko) | 2016-10-20 | 2017-10-20 | 디스플레이 장치 및 디스플레이 장치의 영상 처리 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10915993B2 (ko) |
KR (1) | KR102612988B1 (ko) |
WO (1) | WO2018074893A1 (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11372479B2 (en) | 2014-11-10 | 2022-06-28 | Irisvision, Inc. | Multi-modal vision enhancement system |
US11546527B2 (en) * | 2018-07-05 | 2023-01-03 | Irisvision, Inc. | Methods and apparatuses for compensating for retinitis pigmentosa |
KR102374404B1 (ko) * | 2017-07-25 | 2022-03-15 | 삼성전자주식회사 | 콘텐트를 제공하기 위한 디바이스 및 방법 |
US11303814B2 (en) * | 2017-11-09 | 2022-04-12 | Qualcomm Incorporated | Systems and methods for controlling a field of view |
JP2019121857A (ja) * | 2017-12-28 | 2019-07-22 | キヤノン株式会社 | 電子機器及びその制御方法 |
JP7043255B2 (ja) | 2017-12-28 | 2022-03-29 | キヤノン株式会社 | 電子機器及びその制御方法 |
CN112534467A (zh) | 2018-02-13 | 2021-03-19 | 弗兰克.沃布林 | 对比度敏感度补偿的方法和装置 |
KR102155102B1 (ko) * | 2019-01-08 | 2020-09-11 | 주식회사 원이멀스 | Vr 체험 공간에서 사용자의 불편감을 해소하기 위한 vr 컨텐츠 생성 시스템 및 방법 |
CN114616820B (zh) * | 2019-10-29 | 2024-06-11 | 富士胶片株式会社 | 摄像支援装置、摄像装置、摄像系统、摄像支援系统、摄像支援方法及存储介质 |
JPWO2021181966A1 (ko) * | 2020-03-09 | 2021-09-16 | ||
CN114286142B (zh) * | 2021-01-18 | 2023-03-28 | 海信视像科技股份有限公司 | 一种虚拟现实设备及vr场景截屏方法 |
CN113556464B (zh) * | 2021-05-24 | 2023-02-03 | 维沃移动通信有限公司 | 拍摄方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004233882A (ja) * | 2003-01-31 | 2004-08-19 | Nikon Corp | ヘッドマウントディスプレイ装置 |
JP2005295495A (ja) * | 2003-10-02 | 2005-10-20 | Kazuo Iwane | カメラベクトル演算装置と、このカメラベクトル演算装置に備えられる揺れ成分検出装置,画像安定化装置,位置姿勢安定化装置,目的対象物ロックオン装置及び実写対象物属性呼出装置 |
KR20100047793A (ko) * | 2008-10-29 | 2010-05-10 | 한국전자통신연구원 | 착용형 컴퓨팅 환경 기반의 사용자 인터페이스 장치 및 그 방법 |
JP2014011624A (ja) * | 2012-06-29 | 2014-01-20 | Nikon Corp | 情報入出力装置、及び頭部装着表示装置 |
WO2014077046A1 (ja) * | 2012-11-13 | 2014-05-22 | ソニー株式会社 | 画像表示装置及び画像表示方法、移動体装置、画像表示システム、並びにコンピューター・プログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4845817B2 (ja) * | 2007-06-14 | 2011-12-28 | 富士フイルム株式会社 | 撮像装置,レンズユニット,撮像方法及び制御プログラム |
US20100103104A1 (en) | 2008-10-29 | 2010-04-29 | Electronics And Telecommunications Research Institute | Apparatus for user interface based on wearable computing environment and method thereof |
KR101528860B1 (ko) * | 2008-12-11 | 2015-06-15 | 삼성전자주식회사 | 디지털 촬영 장치의 흔들림 보정 방법 및 장치 |
KR101071352B1 (ko) * | 2009-08-31 | 2011-10-07 | 주식회사 이미지넥스트 | 좌표맵을 이용한 팬틸트줌 카메라 기반의 객체 추적 장치 및 방법 |
JP6332996B2 (ja) * | 2013-04-17 | 2018-05-30 | キヤノン株式会社 | 動画像処理装置および撮像装置、動画像処理方法 |
US20150022677A1 (en) | 2013-07-16 | 2015-01-22 | Qualcomm Incorporated | System and method for efficient post-processing video stabilization with camera path linearization |
KR20150011938A (ko) * | 2013-07-24 | 2015-02-03 | 한국전자통신연구원 | 멀티-카메라 플랫폼 기반으로 캡쳐된 파노라마 영상의 안정화 방법 및 장치 |
US9652893B2 (en) | 2014-04-29 | 2017-05-16 | Microsoft Technology Licensing, Llc | Stabilization plane determination based on gaze location |
US20160191945A1 (en) | 2014-12-24 | 2016-06-30 | Sony Corporation | Method and system for processing video content |
-
2016
- 2016-10-20 KR KR1020160136528A patent/KR102612988B1/ko active IP Right Grant
-
2017
- 2017-10-20 US US16/342,047 patent/US10915993B2/en active Active
- 2017-10-20 WO PCT/KR2017/011676 patent/WO2018074893A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004233882A (ja) * | 2003-01-31 | 2004-08-19 | Nikon Corp | ヘッドマウントディスプレイ装置 |
JP2005295495A (ja) * | 2003-10-02 | 2005-10-20 | Kazuo Iwane | カメラベクトル演算装置と、このカメラベクトル演算装置に備えられる揺れ成分検出装置,画像安定化装置,位置姿勢安定化装置,目的対象物ロックオン装置及び実写対象物属性呼出装置 |
KR20100047793A (ko) * | 2008-10-29 | 2010-05-10 | 한국전자통신연구원 | 착용형 컴퓨팅 환경 기반의 사용자 인터페이스 장치 및 그 방법 |
JP2014011624A (ja) * | 2012-06-29 | 2014-01-20 | Nikon Corp | 情報入出力装置、及び頭部装着表示装置 |
WO2014077046A1 (ja) * | 2012-11-13 | 2014-05-22 | ソニー株式会社 | 画像表示装置及び画像表示方法、移動体装置、画像表示システム、並びにコンピューター・プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20190251672A1 (en) | 2019-08-15 |
KR20180043609A (ko) | 2018-04-30 |
KR102612988B1 (ko) | 2023-12-12 |
US10915993B2 (en) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018074893A1 (ko) | 디스플레이 장치 및 디스플레이 장치의 영상 처리 방법 | |
WO2020036343A1 (en) | Electronic device and control method thereof | |
WO2018008991A1 (ko) | 영상 처리를 위한 디스플레이 장치 및 방법 | |
WO2018117574A1 (en) | Method for displaying image, storage medium, and electronic device | |
WO2017026815A1 (en) | Portable apparatus and method for displaying a screen | |
WO2020111594A1 (en) | Electronic device, augmented reality device for providing augmented reality service, and method of operating same | |
WO2015183033A1 (en) | Data processing method and electronic device thereof | |
WO2018038439A1 (en) | Image display apparatus and operating method thereof | |
WO2018236058A1 (en) | ELECTRONIC DEVICE FOR PROVIDING PROPERTY INFORMATION OF AN EXTERNAL LIGHT SOURCE FOR AN OBJECT OF INTEREST | |
WO2015122566A1 (en) | Head mounted display device for displaying augmented reality image capture guide and control method for the same | |
WO2018030651A1 (ko) | 카메라를 구비한 무인 비행체 및 무인 비행체의 영상 처리 방법 | |
WO2014073756A1 (en) | Array camera, mobile terminal, and methods for operating the same | |
WO2017126741A1 (ko) | Hmd 디바이스 및 그 제어 방법 | |
WO2019156480A1 (ko) | 시선에 기반한 관심 영역 검출 방법 및 이를 위한 전자 장치 | |
WO2019035582A1 (en) | DISPLAY APPARATUS AND SERVER, AND METHODS OF CONTROLLING THE SAME | |
WO2021141287A1 (ko) | 카메라 프리뷰를 제공하는 전자 장치 및 그 방법 | |
WO2018080244A1 (ko) | 전방위 영상을 획득하는 방법 및 장치 | |
WO2019142997A1 (ko) | 광학식 이미지 안정화 움직임에 의한 이미지의 변화를 보상하기 위한 장치 및 방법 | |
WO2018030567A1 (ko) | Hmd 및 그 hmd의 제어 방법 | |
WO2016126083A1 (ko) | 주변 상황 정보를 통지하기 위한 방법, 전자 장치 및 저장 매체 | |
WO2019135634A1 (en) | Method and apparatus to navigate a virtual content displayed by a virtual reality (vr) device | |
WO2021118187A1 (ko) | 회전이 가능한 카메라를 구비한 폴더블 전자 장치 및 이를 이용한 촬영 방법 | |
WO2019135550A1 (en) | Electronic device for controlling image display based on scroll input and method thereof | |
WO2020141945A1 (en) | Electronic device for changing characteristics of display according to external light and method therefor | |
WO2021162366A1 (ko) | Ar 객체를 배치하는 방법 및 전자 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17861499 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17861499 Country of ref document: EP Kind code of ref document: A1 |