KR102559721B1 - Control method of electronic apparatus for selectively restore images according to field of view of user - Google Patents
Control method of electronic apparatus for selectively restore images according to field of view of user Download PDFInfo
- Publication number
- KR102559721B1 KR102559721B1 KR1020220153506A KR20220153506A KR102559721B1 KR 102559721 B1 KR102559721 B1 KR 102559721B1 KR 1020220153506 A KR1020220153506 A KR 1020220153506A KR 20220153506 A KR20220153506 A KR 20220153506A KR 102559721 B1 KR102559721 B1 KR 102559721B1
- Authority
- KR
- South Korea
- Prior art keywords
- image data
- electronic device
- area
- user
- viewing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 69
- 210000005252 bulbus oculi Anatomy 0.000 claims abstract description 12
- 238000003062 neural network model Methods 0.000 claims description 24
- 239000000203 mixture Substances 0.000 claims description 23
- 238000012937 correction Methods 0.000 claims description 6
- 230000002093 peripheral effect Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 28
- 230000015654 memory Effects 0.000 description 23
- 238000012549 training Methods 0.000 description 20
- 230000008859 change Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000000605 extraction Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 230000007423 decrease Effects 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 4
- 210000001747 pupil Anatomy 0.000 description 4
- 210000001508 eye Anatomy 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 208000025721 COVID-19 Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000003128 head Anatomy 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
- 230000008569 process Effects 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
Images
Classifications
-
- 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/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- 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/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- 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/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- G06T5/001—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
-
- 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/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Radar, Positioning & Navigation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
본 개시는 이미지를 제공하는 전자 장치의 제어 방법에 관한 것으로, 보다 상세하게는, 사용자의 시야 영역에 매칭되는 일부 이미지를 고해상도 복원하여 제공하는 전자 장치의 제어 방법에 관한 것이다.The present disclosure relates to a control method of an electronic device that provides images, and more particularly, to a control method of an electronic device that provides high-resolution reconstructed images matching a user's viewing area.
코로나 19 사태 이후 VR(Virtual Reality), AR(Augmented Reality) 등 실감형 콘텐츠 시장이 활기를 찾기 시작하면서 시장 규모가 늘어나고 있다.Since the COVID-19 crisis, the realistic content market, such as VR (Virtual Reality) and AR (Augmented Reality), has begun to gain momentum, and the market size is increasing.
다만, AR/VR 콘텐츠의 모바일 트래픽 비용은 사업자와 사용자 모두에게 부담으로 작용하고 있으며, 이로 인해 5G 시대의 서비스 및 정보 격차가 커지고 있다.However, the mobile traffic cost of AR/VR content is burdening both operators and users, and as a result, the service and information gap in the 5G era is widening.
특히, 일반적으로 사용되는 소비자 기기(PC, 스마트폰)에서 초고화질 실감형 콘텐츠를 실시간 재생하기 어려움은 물론, VR 콘텐츠의 특성상 일반 영상 대비 6배 정도 많은 양의 픽셀 처리가 필요한 바 통신 환경은 물론 엣지 디바이스의 사양 면(ex. 고가의 GPU 장비 필요)에서 한계가 있는 실정이다.In particular, it is difficult to play ultra-high-definition realistic content in real time on commonly used consumer devices (PCs, smartphones), and due to the nature of VR content, pixel processing is required to process six times as many pixels as compared to general video. As a result, there are limitations in terms of edge device specifications (ex. expensive GPU equipment required) as well as communication environments.
본 개시는 저해상도의 이미지 데이터를 수신하여 실시간 영상을 제공하되, 실시간으로 감지되는 사용자의 시야 영역에 대해서는 그에 맞는 인공지능 모델을 활용하여 고해상도 복원을 수행함으로써 영상을 출력하는 전자 장치의 제어 방법을 제공한다.The present disclosure provides a control method of an electronic device that receives low-resolution image data and provides a real-time image, and outputs an image by performing high-resolution reconstruction using an artificial intelligence model suitable for a user's field of view sensed in real time.
본 개시의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 개시의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 개시의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 개시의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present disclosure are not limited to the above-mentioned objects, and other objects and advantages of the present disclosure not mentioned above can be understood by the following description and will be more clearly understood by the embodiments of the present disclosure. Further, it will be readily apparent that the objects and advantages of the present disclosure may be realized by means of the instrumentalities and combinations indicated in the claims.
본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은, 기설정된 시야 범위에 대응되는 제1 이미지 데이터를 포함하는 스트리밍 데이터를 수신하는 단계, 사용자의 안구 방향을 추적하여 상기 기설정된 시야 범위 내 사용자의 시야 영역을 식별하는 단계, 상기 제1 이미지 데이터 중 상기 식별된 시야 영역의 적어도 일부에 매칭되는 대상 이미지 데이터를 선택하는 단계, 고해상도 복원을 수행하도록 훈련된 인공지능 모델에 상기 대상 이미지 데이터를 입력하여, 복원 이미지 데이터를 획득하는 단계, 상기 제1 이미지 데이터의 상기 대상 이미지 데이터를 상기 복원 이미지 데이터로 대체하여 제2 이미지 데이터를 획득하고, 상기 제2 이미지 데이터를 출력하는 단계를 포함한다.A control method of an electronic device according to an embodiment of the present disclosure includes receiving streaming data including first image data corresponding to a preset viewing range, tracking a direction of the user's eyeballs and identifying a viewing area of the user within the preset viewing range, selecting target image data that matches at least a part of the identified viewing range from among the first image data, inputting the target image data to an artificial intelligence model trained to perform high-resolution reconstruction, and obtaining reconstructed image data, and the target image of the first image data. and replacing data with the reconstructed image data to obtain second image data, and outputting the second image data.
상기 스트리밍 데이터를 수신하는 단계는, 상기 제1 이미지 데이터가 영역 별로 분할된 복수의 부분 이미지를 수신하고, 상기 복수의 부분 이미지 각각에 대하여 고해상도 복원을 수행하도록 훈련된 복수의 신경망 모델에 대한 데이터를 수신할 수 있다. 상기 대상 이미지 데이터를 선택하는 단계는, 상기 복수의 부분 이미지 중 상기 사용자의 시야 영역에 포함되는 적어도 하나의 부분 이미지를 선택할 수 있다. 상기 복원 이미지 데이터를 획득하는 단계는, 상기 선택된 적어도 하나의 부분 이미지 각각에 매칭되는 적어도 하나의 신경망 모델에, 상기 선택된 적어도 하나의 부분 이미지를 각각 입력할 수 있다.The receiving of the streaming data may include receiving a plurality of partial images in which the first image data is divided into regions, and receiving data for a plurality of neural network models trained to perform high-resolution reconstruction on each of the plurality of partial images. In the selecting of the target image data, at least one partial image included in the viewing area of the user may be selected from among the plurality of partial images. The acquiring of the restored image data may include inputting the selected at least one partial image to at least one neural network model that matches each of the at least one selected partial image.
상기 전자 장치의 제어 방법은, 상기 전자 장치가 상기 서버로부터 VR(Virtual Reality) 콘텐츠가 시간 별로 분할된 복수의 이미지 프레임을 포함하는 스트리밍 데이터를 수신하는 단계, 상기 전자 장치가 상기 서버로부터 상기 복수의 이미지 프레임 각각에 대하여 고해상도 복원을 수행하도록 훈련된 복수의 제1 신경망 모델에 대한 데이터를 수신하는 단계를 포함할 수 있다. 상기 복수의 제1 신경망 모델 각각은, 각 이미지 프레임이 영역 별로 분할된 복수의 부분 이미지 각각에 대하여 고해상도 복원을 수행하도록 훈련된 복수의 제2 신경망 모델을 포함할 수 있다. 상기 전자 장치의 제어 방법은, 상기 전자 장치가 재생하는 상기 VR 콘텐츠 내 시간 구간 및 상기 시간 구간 동안 감지되는 상기 사용자의 시야 영역을 기초로, 적어도 하나의 이미지 프레임 내에 포함된 적어도 하나의 부분 이미지를 선택하는 단계, 상기 선택된 적어도 하나의 부분 이미지 각각에 매칭되는 적어도 하나의 제2 신경망 모델을 통해, 상기 선택된 적어도 하나의 부분 이미지에 대한 고해상도 복원을 수행하는 단계를 더 포함할 수 있다.The control method of the electronic device may include receiving, by the electronic device, streaming data including a plurality of image frames in which Virtual Reality (VR) content is divided by time from the server, and receiving, by the electronic device, data for a plurality of first neural network models trained to perform high-resolution reconstruction on each of the plurality of image frames from the server. Each of the plurality of first neural network models may include a plurality of second neural network models trained to perform high-resolution reconstruction on each of a plurality of partial images obtained by dividing each image frame into regions. The control method of the electronic device may further include selecting at least one partial image included in at least one image frame based on a time interval within the VR content reproduced by the electronic device and the user's viewing area sensed during the time interval, and performing high-resolution reconstruction of the selected at least one partial image through at least one second neural network model that matches each of the selected at least one partial image.
상기 전자 장치의 제어 방법은, 상기 사용자의 시야 영역을, 상기 사용자의 시선이 향하는 중심 지점을 포함하는 일정 시야각의 Foveal 영역, 상기 Foveal 영역을 둘러싸며 상기 Foveal 영역의 시야각보다 큰 시야각에 대응되는 Blend 영역, 및 상기 Foveal 영역과 상기 Blend 영역을 제외한 Peripheral 영역으로 구분하는 단계를 더 포함할 수 있다. 이때, 상기 복원 이미지 데이터를 획득하는 단계는, 상기 Foveal 영역에 매칭되는 제1 대상 이미지 데이터를 상기 인공지능 모델에 입력하여 제1 복원 이미지 데이터를 획득하고, 상기 Blend 영역에 매칭되는 제2 대상 이미지 데이터에 보간 보정을 수행하여 제2 복원 이미지 데이터를 획득할 수 있다.The control method of the electronic device may further include dividing the user's viewing area into a foveal area with a certain viewing angle including a central point toward which the user's gaze is directed, a blend area surrounding the foveal area and corresponding to a viewing angle greater than the viewing angle of the foveal area, and a peripheral area excluding the foveal area and the blend area. In this case, in the obtaining of the restored image data, first reconstructed image data may be obtained by inputting the first target image data matching the foveal region to the artificial intelligence model, and interpolation may be performed on the second target image data matching the blend region to obtain second restored image data.
여기서, 상기 전자 장치의 제어 방법은, 상기 전자 장치가 스트리밍 데이터를 수신하는 속도 및 상기 전자 장치가 상기 인공지능 모델을 통해 고해상도 복원을 수행하는 속도 중 적어도 하나를 바탕으로, 상기 Foveal 영역의 시야각 범위를 변경하는 단계를 더 포함할 수 있다.Here, the control method of the electronic device may further include changing the viewing angle range of the foveal area based on at least one of a speed at which the electronic device receives streaming data and a speed at which the electronic device performs high-resolution reconstruction through the artificial intelligence model.
또한, 상기 전자 장치의 제어 방법은, 상기 사용자의 시야 영역이 변경되는 속도를 식별하는 단계, 상기 식별된 속도를 바탕으로 상기 Foveal 영역의 시야각 범위를 변경하는 단계를 더 포함할 수도 있다.The control method of the electronic device may further include identifying a speed at which the user's viewing area changes, and changing a viewing angle range of the foveal area based on the identified speed.
본 개시의 일 실시 예에 따라 서버 및 전자 장치를 포함하는 시스템의 제어 방법은, 상기 서버가 360도의 시야 범위에 대응되는 제1 이미지 데이터를 포함하는 스트리밍 데이터를 상기 전자 장치로 전송하는 단계, 상기 전자 장치가 사용자의 안구 방향을 추적하여 사용자의 시야 영역을 식별하는 단계, 상기 전자 장치가 상기 제1 이미지 데이터 중 상기 식별된 시야 영역에 매칭되는 대상 이미지 데이터를 선택하는 단계, 상기 전자 장치가 고해상도 복원을 수행하도록 훈련된 인공지능 모델에 상기 대상 이미지 데이터를 입력하여, 복원 이미지 데이터를 획득하는 단계, 상기 전자 장치가, 상기 제1 이미지 데이터의 상기 대상 이미지 데이터를 상기 복원 이미지 데이터로 대체하여 제2 이미지 데이터를 획득하고, 상기 제2 이미지 데이터를 출력하는 단계를 포함한다.According to an embodiment of the present disclosure, a control method of a system including a server and an electronic device includes transmitting, by the server, streaming data including first image data corresponding to a 360-degree field of view to the electronic device; identifying a user's field of view area by tracking the direction of the user's eyeballs by the electronic device; selecting, by the electronic device, target image data matching the identified field of view area from among the first image data; , acquiring reconstructed image data, replacing, by the electronic device, the target image data of the first image data with the reconstructed image data to obtain second image data, and outputting the second image data.
본 개시에 따른 전자 장치의 제어 방법은 저해상도에 해당하는 이미지 데이터를 실시간으로 수신하여 제공하는 한편, 사용자의 시야 영역에서 일정 시선 부분에 대해서만 부분적으로 업스케일을 수행함으로써 통신 환경 및 장치 환경의 로드를 저하할 수 있다. 그 결과, 본 개시에 따른 전자 장치의 제어 방법은, VR/AR 등의 고화질 영상에 대한 스트리밍 서비스를 가능하게 한다.The method for controlling an electronic device according to the present disclosure receives and provides low-resolution image data in real time, and partially upscales only a certain line of sight in a user's viewing area, thereby reducing the load of the communication environment and the device environment. As a result, the method for controlling an electronic device according to the present disclosure enables a streaming service for high-definition video such as VR/AR.
도 1은 본 개시의 일 실시 예에 따라 이미지 데이터의 스트리밍 서비스를 제공하기 위한 서버 및 전자 장치의 개략적인 동작을 설명하기 위한 블록도,
도 2a는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 2b는 본 개시의 일 실시 예에 따른 서버의 구성을 설명하기 위한 블록도,
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 흐름도,
도 4는 본 개시의 일 실시 예에 따른 전자 장치가 사용자의 시야 영역을 구분하는 동작을 설명하기 위한 도면,
도 5는 본 개시의 일 실시 예에 따른 전자 장치가 이미지 데이터의 영역 별로 훈련된 복수의 인공지능 모델을 선택적으로 활용하는 동작을 설명하기 위한 도면,
도 6은 본 개시의 일 실시 예에 따른 전자 장치가 이미지 데이터의 시간 구간 별로 훈련된 복수의 인공지능 모델을 선택적으로 활용하는 동작을 설명하기 위한 도면, 그리고
도 7은 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.1 is a block diagram for explaining a schematic operation of a server and an electronic device for providing a streaming service of image data according to an embodiment of the present disclosure;
2A is a block diagram for explaining the configuration of an electronic device according to an embodiment of the present disclosure;
2B is a block diagram for explaining the configuration of a server according to an embodiment of the present disclosure;
3 is a flowchart for explaining an operation of an electronic device according to an embodiment of the present disclosure;
4 is a diagram for explaining an operation of an electronic device dividing a user's viewing area according to an embodiment of the present disclosure;
5 is a diagram for explaining an operation of selectively utilizing a plurality of artificial intelligence models trained for each region of image data by an electronic device according to an embodiment of the present disclosure;
6 is a diagram for explaining an operation of selectively utilizing a plurality of artificial intelligence models trained for each time interval of image data by an electronic device according to an embodiment of the present disclosure; and
7 is a block diagram for explaining the configuration of an electronic device according to various embodiments of the present disclosure.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.Prior to a detailed description of the present disclosure, the method of describing the present specification and drawings will be described.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다. First, terms used in the present specification and claims are general terms in consideration of functions in various embodiments of the present disclosure. However, these terms may vary depending on the intention of a technician working in the art, legal or technical interpretation, and the emergence of new technologies. In addition, some terms are arbitrarily selected by the applicant. These terms may be interpreted as the meanings defined in this specification, and if there is no specific term definition, they may be interpreted based on the overall content of this specification and common technical knowledge in the art.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다. In addition, the same reference numerals or numerals in each drawing attached to this specification indicate parts or components that perform substantially the same function. For convenience of description and understanding, the same reference numerals or symbols are used in different embodiments. That is, even if all components having the same reference numerals are shown in a plurality of drawings, the plurality of drawings do not mean one embodiment.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다. Also, in the present specification and claims, terms including ordinal numbers such as “first” and “second” may be used to distinguish between elements. These ordinal numbers are used to distinguish the same or similar components from each other, and the meaning of the term should not be construed as being limited due to the use of these ordinal numbers. For example, the order of use or arrangement of elements associated with such ordinal numbers should not be limited by the number. If necessary, each ordinal number may be used interchangeably.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "comprise" or "consist of" are intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification exist, but it should be understood that the presence or addition of one or more other features or numbers, steps, operations, components, parts, or combinations thereof is not excluded in advance.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In the embodiments of the present disclosure, terms such as “module,” “unit,” and “part” are terms used to refer to components that perform at least one function or operation, and these components may be implemented as hardware or software, or may be implemented as a combination of hardware and software. In addition, a plurality of "modules", "units", "parts", etc. may be integrated into at least one module or chip and implemented by at least one processor, except when each of them needs to be implemented with separate specific hardware.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Also, in an embodiment of the present disclosure, when a part is said to be connected to another part, this includes not only a direct connection but also an indirect connection through another medium. In addition, the meaning that a certain part includes a certain component means that it may further include other components without excluding other components unless otherwise stated.
도 1은 본 개시의 일 실시 예에 따라 이미지 데이터의 스트리밍 서비스를 제공하기 위한 서버 및 전자 장치의 개략적인 동작을 설명하기 위한 블록도이다.1 is a block diagram illustrating schematic operations of a server and an electronic device for providing a streaming service of image data according to an embodiment of the present disclosure.
전자 장치(100)는 서버(200)와의 통신을 바탕으로 다양한 이미지를 제공할 수 있다. 전자 장치(100)는 스마트폰, 태블릿 PC, TV, VR 기기, AR 기기, 웨어러블 장치(ex. 글래스, 워치, HMD(Head Mounted Device) 등), 콘솔 기기, 셋탑 박스, 기타 제어 기기 등으로 구현될 수 있다.The
서버(200)는 스트리밍 서비스를 지원함으로써 전자 장치(100)를 통해 이미지를 제공할 수 있다. 서버(200)는 하나 이상의 컴퓨터를 포함하는 시스템으로 구현될 수 있다. 서버(200)는 VR 콘텐츠, AR 콘텐츠, 2D 콘텐츠, 3D 콘텐츠 등 다양한 콘텐츠를 구성하는 이미지 데이터를 스트리밍 데이터의 형태로 전자 장치(100)로 전송할 수 있다. 서버(200)는 방송, 게임, 관광, 엔터테인먼트, IoT 모니터링, 군(military), 의료, CCTV, 메타버스 등 다양한 분야의 콘텐츠에 대한 스트리밍 서비스를 제공할 수 있다.The
이때, 전자 장치(100)가 스트리밍 데이터에 포함된 이미지 데이터를 출력함으로써 실시간 영상이 제공될 수 있다. 예를 들어, 전자 장치(100)가 디스플레이를 포함하는 VR 기기(ex. HMD) 등으로 구현된 경우, 전자 장치(100)는 서버(200)로부터 수신된 이미지 데이터를 바탕으로 일정 시야 범위(ex. 360도)의 VR 영상을 디스플레이 할 수 있다. 또는, 전자 장치(100)가 VR 기기를 제어하는 제어 기기로 구현된 경우, 전자 장치(100)는 서버(200)로부터 수신된 이미지 데이터를 VR 기기로 전송하여 VR 기기를 통해 VR 영상이 제공되도록 제어할 수도 있다.In this case, real-time video may be provided by the
도 2a는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.2A is a block diagram for explaining the configuration of an electronic device according to an embodiment of the present disclosure.
도 2a를 참조하면, 전자 장치(100)는 메모리(110), 프로세서(120), 통신부(130)를 포함할 수 있다. 또한, 전자 장치(100)는 디스플레이(140) 및 센서부(150) 중 적어도 하나를 추가로 포함할 수도 있다.Referring to FIG. 2A , the
메모리(110)는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 적어도 하나의 인스트럭션 또는 데이터를 저장하기 위한 구성이다.The
메모리(110)는 ROM, 플래시 메모리 등의 비휘발성 메모리를 포함할 수 있으며, DRAM 등으로 구성된 휘발성 메모리를 포함할 수 있다. 또한, 메모리(110)는 하드 디스크, SSD(Solid state drive) 등을 포함할 수도 있다.The
일 실시 예에 따르면, 메모리(110)는 적어도 하나의 이미지에 대하여 고해상도 복원을 수행하도록 훈련된 적어도 하나의 인공지능 모델을 포함할 수 있다. According to an embodiment, the
일 예로, 본 인공지능 모델은, 서로 다른 레이어에 속하는 노드 간의 가중치가 업데이트됨에 따라 훈련되는 신경망 모델에 해당할 수 있으며, 적어도 3개 이상의 컨볼루션 레이어를 포함하는 딥러닝 방식의 CNN(Convolutional Neural Network) 모델에 해당할 수 있으나, 이에 한정되지 않는다. As an example, this artificial intelligence model may correspond to a neural network model that is trained as weights between nodes belonging to different layers are updated, and may correspond to a convolutional neural network (CNN) model of a deep learning method including at least three or more convolutional layers, but is not limited thereto.
인공지능 모델은, 적어도 하나의 저해상도 이미지(ex. 각 픽셀의 값)가 입력되면, 저해상도 이미지보다 더 많은 픽셀로 구성된 고해상도 이미지를 출력할 수 있다. When at least one low-resolution image (eg, each pixel value) is input, the artificial intelligence model may output a high-resolution image composed of more pixels than the low-resolution image.
일 예로, 본 인공지능 모델은, 이미지로부터 특징을 추출하기 위한 특징 추출부, 픽셀을 생성(: 업샘플링)하고 생성된 픽셀의 값을 결정하는 복원부 등을 포함할 수 있으나 이에 한정되지 않는다. 여기서 특징 추출부, 복원부 등은 각각 하나 이상의 레이어를 포함할 수 있다.For example, the artificial intelligence model may include, but is not limited to, a feature extractor for extracting features from an image, a restorer for generating (upsampling) pixels and determining values of the generated pixels, and the like. Here, each of the feature extraction unit and restoration unit may include one or more layers.
프로세서(120)는 전자 장치(100)를 전반적으로 제어하기 위한 구성이다. The
구체적으로, 프로세서(120)는 메모리(110)와 연결되는 한편 메모리(110)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 본 개시의 다양한 실시 예들에 따른 동작을 수행할 수 있다.Specifically, the
프로세서(120)는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서 등을 포함할 수 있다. 인공지능 전용 프로세서는, 특정 인공지능 모델의 훈련 내지는 이용에 특화된 하드웨어 구조로 설계될 수 있다.The
프로세서(120)는 시야 영역 추출 모듈(121), 고해상도 복원 모듈(122), 디스플레이 모듈(123) 등을 제어할 수 있다. 본 모듈들은 기능적으로 정의된 모듈들에 해당하며 각 모듈은 소프트웨어 및/또는 하드웨어를 통해 구현될 수 있다.The
시야 영역 추출 모듈(121)은 사용자의 안구 방향을 추적하여 사용자의 시야 영역을 식별하기 위한 구성이다. 시야 영역 추출 모듈(121)은 기설정된 시야 범위(ex. 360도) 내에서 사용자가 바라보는 방향에 기초하여 사용자의 시야 영역을 추출할 수 있다.The viewing
예를 들어, 전자 장치(100)가 HMD 형태의 VR 기기인 경우, 시야 영역 추출 모듈(121)은 적어도 하나의 이미지 센서, 적외선 선세 등을 통해 사용자의 안구를 촬영함으로써 동공을 추적할 수 있다. 이때, 시야 영역 추출 모듈(121)은 동공의 위치를 바탕으로 사용자가 바라보는 방향을 식별함으로써, 사용자의 시야 영역을 획득할 수 있다. 구체적인 예로, 시야 영역 추출 모듈(121)은 사용자가 바라보는 방향을 중심으로 기설정된 시야각(ex. 30도, 45도, 60도 등) 범위를 사용자의 시야 영역으로 획득할 수 있으나, 이에 한정되지 않는다.For example, when the
다른 예로, 시야 영역 추출 모듈(121)은 중력 센서, 자이로 센서 중 적어도 하나를 바탕으로 사용자가 착용한 HMD의 자세(: 방향)를 식별할 수 있으며, HMD가 향하는 방향을 사용자가 바라보는 방향으로 식별할 수도 있다.As another example, the viewing
전자 장치(100)가 HMD 형태의 VR 기기인 경우, 시야 영역 추출 모듈(121)은 전자 장치(100)의 센서부(150)에 구비된 적어도 하나의 센서(ex. 이미지 센서)를 통해 시야 영역을 추출할 수 있다. 반면, 전자 장치(100)가 VR 기기를 제어하는 제어 기기인 경우, 시야 영역 추출 모듈(121)은 통신부(130)를 통해 VR 기기의 센서부(ex. 이미지 센서)와 통신을 수행하여 사용자가 바라보는 시야 영역을 추출할 수 있다.When the
고해상도 복원 모듈(122)은 서버(200)로부터 수신된 이미지 데이터의 적어도 일부를 복원하기 위한 모듈이다.The high
구체적으로, 원활한 스트리밍을 위해 전자 장치(100)는 서버(200)로부터 저화질의 이미지 데이터를 포함하는 스트리밍 데이터를 수신할 수 있다.Specifically, for smooth streaming, the
이때, 고해상도 복원 모듈(122)은 저화질의 이미지 데이터 중 사용자의 시야 영역의 적어도 일부에 매칭되는 대상 이미지 데이터를 선택하고, 대상 이미지 데이터에 대하여 고해상도 복원을 수행할 수 있다.In this case, the high-
고해상도 복원 모듈(122)은 메모리(110)에 저장된 인공지능 모델을 통해 고해상도 복원을 수행함으로써 적어도 일부의 시야 영역에 대하여 고해상도의 복원 이미지 데이터를 획득할 수 있다. 그 결과, 일부 시야 영역에 대해서는 고해상도의 이미지 데이터를 포함하고, 나머지 시야 영역에 대해서는 저해상도의 이미지 데이터가 포함된 최종 이미지 데이터가 획득될 수 있다.The high-
디스플레이 모듈(123)은 스트리밍에 따라 획득된 이미지 데이터를 시각적으로 출력하기 위한 구성이다. 디스플레이 모듈(123)은 전자 장치(100)의 디스플레이(140)를 통해 영상을 출력할 수도 있고, 전자 장치(100)와 연결된 적어도 하나의 디스플레이 장치를 제어함으로써 영상 출력을 지원할 수도 있다.The
일 실시 예로, 디스플레이 모듈(123)은 적어도 일부의 시야 영역에 대해 고해상도 복원이 수행된 최종 이미지 데이터를 시각적으로 출력할 수 있다.As an example, the
통신부(130)는 다양한 유무선 통신방식으로 적어도 하나의 외부 장치와 통신을 수행하기 위한 구성으로, 다양한 통신 방식에 매칭되는 회로, 모듈, 칩 등을 포함할 수 있다.The
통신부(130)는 다양한 네트워크를 통해 외부 장치들과 연결될 수 있다.The
네트워크는 영역 또는 규모에 따라 개인 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 광역 통신망(WAN; Wide Area Network) 등일 수 있으며, 네트워크의 개방성에 따라 인트라넷(Intranet), 엑스트라넷(Extranet), 또는 인터넷(Internet) 등일 수 있다.The network may be a Personal Area Network (PAN), a Local Area Network (LAN), a Wide Area Network (WAN), or the like, depending on the area or scale, and may be an intranet, an extranet, or the Internet, etc., depending on the openness of the network.
통신부(130)는 LTE(long-term evolution), LTE-A(LTE Advance), 5G(5th Generation) 이동통신, CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), GSM(Global System for Mobile Communications), DMA(Time Division Multiple Access), WiFi(Wi-Fi), WiFi Direct, Bluetooth, NFC(near field communication), Zigbee 등 다양한 무선 통신 방식을 통해 외부 장치들과 연결될 수 있다. The
또한, 통신부(130)는 이더넷(Ethernet), 광 네트워크(optical network), USB(Universal Serial Bus), 선더볼트(ThunderBolt) 등의 유선 통신 방식을 통해 외부 장치들과 연결될 수도 있다.In addition, the
이 밖에도, 통신부(130)는 통상적으로 이용되는 다양한 통신 방식을 통해 외부 장치와 통신을 수행할 수 있다.In addition, the
전자 장치(100)는 통신부(130)를 통해 서버(200)로부터 실시간 스트리밍 데이터를 수신할 수 있다. 또한, 전자 장치(100)는 통신부(130)를 통해 서버(200)로부터 적어도 하나의 인공지능 모델의 데이터를 수신할 수 있다.The
여기서, 인공지능 모델의 데이터는, 인공지능 모델을 구성하는 가중치에 대한 데이터를 포함할 수 있으나, 이에 한정되지 않는다.Here, the data of the artificial intelligence model may include data on weights constituting the artificial intelligence model, but is not limited thereto.
디스플레이(140)는 다양한 이미지를 시각적으로 표시하기 위한 구성으로, LCD(Lizuid Crystal Display), LED(Light Emitting Diodes), OLED(Organic Light Emitting Diodes), TOLED(Transparent OLED), Micro LED 등으로 구현될 수 있다. 또한, 디스플레이(140)는 평면 디스플레이 외에 곡면 디스플레이, 플렉서블 디스플레이, 폴더블 디스플레이 등으로 구현될 수도 있다. 디스플레이(140)는 상술한 디스플레이 모듈(123)에 의해 구동/제어되어 다양한 이미지를 출력할 수 있다.The
구체적으로, 디스플레이(140)는 사용자의 안구 주변의 넓은 영역에 영상을 제공하기 위한 곡면 디스플레이로 구현될 수 있다. 이때, 디스플레이(140)는 사용자의 좌안 및 우안 각각에 영상을 제공하기 위한 별도의 디스플레이 패널을 포함할 수도 있다.Specifically, the
또한, 전자 장치(100)가 AR 글래스 등 AR 기기에 해당하는 경우, 디스플레이(140)는 실제 주변 환경과 가상으로 출력되는 이미지를 동시에 보여주기 위한 다양한 광학계로 구성될 수 있으며, 이때 디스플레이(140)의 적어도 일부는 투명 디스플레이로 구현될 수 있다.In addition, when the
센서부(150)는 전자 장치(100)를 이용하는 사용자 또는 주변과 관련된 정보를 획득하기 위한 다양한 센서를 포함할 수 있다. 예를 들어, 센서부(150)는 사용자의 안구 또는 주변을 촬영하기 위한 적어도 하나의 이미지 센서(ex. 카메라), 전자 장치(100)의 이동 속도, 이동 방향, 자세(ex. 서로 수직인 세 개의 축 각각에 대한 방향) 등을 감지하기 위한 가속도 센서, 자이로 센서, 지자기 센서, 중력 센서 등을 포함할 수 있다. 또한, 센서부(150)는 VR/AR 기기로 구현된 전자 장치(100)의 착용 여부를 감지하기 위한 적어도 하나의 접촉 센서 내지는 근접 센서를 포함할 수 있다. The
또한, 센서부(150)는 사용자의 신체의 적어도 일부의 모션을 감지하기 위한 모션 센서를 포함할 수 있다. 예를 들어, VR 기기 또는 AR 기기로 구현된 전자 장치(100)가 사용자가 손으로 조작할 수 있는 컨트롤러를 포함하는 경우, 컨트롤러의 이동 속도, 이동 방향, 자세 등을 감지하기 위한 다양한 센서가 구비될 수 있다.Also, the
한편, 도 2b는 본 개시의 일 실시 예에 따른 서버의 구성을 설명하기 위한 블록도이다.On the other hand, Figure 2b is a block diagram for explaining the configuration of the server according to an embodiment of the present disclosure.
도 2b를 참조하면, 서버(200)는 메모리(210), 프로세서(220), 통신부(230) 등을 포함할 수 있다.Referring to FIG. 2B , the
메모리(210)는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 적어도 하나의 인스트럭션 또는 데이터를 저장하기 위한 구성이다.The
메모리(210)는 ROM, 플래시 메모리 등의 비휘발성 메모리를 포함할 수 있으며, DRAM 등으로 구성된 휘발성 메모리를 포함할 수 있다. 또한, 메모리(210)는 하드 디스크, SSD(Solid state drive) 등을 포함할 수도 있다.The
프로세서(220)는 전자 장치(100)를 전반적으로 제어하기 위한 구성이다. The
구체적으로, 프로세서(220)는 메모리(210)와 연결되는 한편 메모리(210)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 본 개시의 다양한 실시 예들에 따른 동작을 수행할 수 있다.Specifically, the
프로세서(220)는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서 등을 포함할 수 있다. 인공지능 전용 프로세서는, 특정 인공지능 모델의 훈련 내지는 이용에 특화된 하드웨어 구조로 설계될 수 있다.The
도 2b를 참조하면, 프로세서(220)는 이미지 처리 모듈(221), 스트리밍 모듈(222), 인공지능 훈련 모듈(223) 등을 제어할 수 있다. 본 모듈들은 기능적으로 정의된 모듈들에 해당하며 각 모듈은 소프트웨어 및/또는 하드웨어를 통해 구현될 수 있다.Referring to FIG. 2B , the
이미지 처리 모듈(221)은 이미지 데이터에 대한 인코딩(encoding) 내지는 디코딩(decoding)을 수행하기 위한 모듈이다. 구체적으로, 이미지 처리 모듈(221)은 고해상도의 이미지를 압축하여 저해상도의 이미지를 획득하거나, 또는 저해상도의 이미지를 복원하여 고해상도의 이미지를 획득할 수 있다.The
일 실시 예로, 이미지 처리 모듈(221)은 고해상도의 이미지를 압축하여 저해상도의 이미지를 획득함으로써, 스트리밍에 용이한 데이터의 형태로 제공할 수 있다.As an example, the
구체적인 예로, 이미지 처리 모듈(221)은 360도의 시야 범위에 해당하는 고해상도의 VR 이미지를 복수의 분할 이미지로 구분하고, 복수의 분할 이미지 각각을 저해상도의 이미지로 변환함으로써 스트리밍에 용이한 형태로 제공할 수 있다.As a specific example, the
스트리밍 모듈(222)은 실시간 스트리밍 데이터를 전송하기 위한 구성이다. 스트리밍 모듈(222)은 통신부(230)를 통해 전자 장치(100)와 연결될 수 있으며, 이미지 데이터를 포함하는 스트리밍 데이터를 전송할 수 있다.The
구체적으로, 스트리밍 모듈(222)은 저해상도의 복수의 분할 이미지를 포함하는 스트리밍 데이터를 전자 장치(100)로 전송할 수 있다. Specifically, the
인공지능 훈련 모듈(223)은 고해상도 복원을 수행하기 위한 인공지능 모델을 훈련시키기 위한 모듈이다.The artificial
여기서, 인공지능 모델은, 저해상도의 이미지가 입력되면 고해상도의 이미지를 출력하기 위한 CNN 모델에 해당할 수 있다. 일 예로, GT(ground Truth)로 정의되는 고해상도 타겟 이미지와 이에 대응하는 저해상도 버전의 이미지(LR; Low Resolution image)를 쌍으로 투입하여, 저해상도 이미지(LR)를 GT로 복원하도록 학습되는 방식인 SR(Super Resolution)모델에 해당할 수 있다.Here, the artificial intelligence model may correspond to a CNN model for outputting a high-resolution image when a low-resolution image is input. For example, a high-resolution target image defined as GT (ground truth) and a corresponding low-resolution version of an image (LR; Low Resolution Image) are input as a pair, and the low-resolution image (LR) is learned to restore the GT. It may correspond to the SR (Super Resolution) model.
일 예로, 인공지능 훈련 모듈(223)은 360도의 시야 범위에 해당하는 VR 영상의 고해상도 버전 및 저해상도 버전 각각을 활용할 수 있다.For example, the artificial
이때, 인공지능 훈련 모듈(223)은 인공지능 모델의 입력에 적합한 패치 사이즈에 따라 저해상도의 VR 영상(: 360도 시야 범위)을 분할할 수 있다. 마찬가지로, 인공지능 훈련 모듈(223)은 인공지능 모델의 출력에 적합한 패치 사이즈에 따라 고해상도의 VR 영상(: 360도 시야 범위)을 분할할 수 있다. 이때, 인공지능 훈련 모듈(223)은 분할된 각각의 저해상도-고해상도 이미지 쌍을 활용하여 인공지능 모델을 훈련시킬 수 있다. 이 경우, 인공지능 훈련 모듈(223)은 공간상 분리된 분할 이미지 각각에 대하여 별도의 인공지능 모델을 훈련시킬 수 있다. At this time, the artificial
또한, 동일한 시야 영역의 이미지라도, VR 비디오의 경우 시간의 흐름에 따라 이미지가 변경될 수 있는 바, 인공지능 훈련 모듈(223)은 시간의 흐름에 따라 이미지를 구분하여 각 이미지에 대한 복원을 수행하도록 각 인공지능 모델을 훈련시킬 수도 있다.In addition, even in the case of an image of the same field of view, in the case of a VR video, since the image may change over time, the artificial
한편, 인공지능 훈련 모듈(223)은 학습용 이미지들의 std 값(표준 편차)에 따라 각 이미지를 분류하고, std 값에 매칭되는 각 인공지능 모델의 훈련에 활용할 수 있다.On the other hand, the artificial
std 값은 각 이미지의 대략적인 구조를 담고 있는 개념으로, std 값이 클수록 픽셀 값 간의 표준 편차가 크므로 이미지의 복잡도가 큰 것으로 해석될 수 있다. 구체적으로, 인공지능 훈련 모듈(223)은 std 값의 범위에 따라 복수의 학습용 이미지를 여러 개의 그룹으로 분류할 수 있는데, 예를 들어, 0~50까지의 std값을 갖는 이미지들을 0~10, 10~20, 20~30, 30~40, 40~50과 같이 총 5개의 그룹으로 분류될 수 있다. 이때, 그룹 별로 별도의 인공지능 모델의 훈련에 활용될 수 있다. The std value is a concept containing an approximate structure of each image, and the higher the std value, the larger the standard deviation between pixel values, so it can be interpreted as the greater the complexity of the image. Specifically, the artificial
구체적으로, std 값은 영상의 분야(ex. 바이오용 x-ray 영상, 게임용 VR 영상, 뉴스 영상 등)에 따라 달라질 수도 있는 개념인 바, 인공지능 훈련 모듈(223)은 그룹 별 이미지를 서로 다른 분야에 매칭되는 인공지능 모델들 각각의 훈련에 활용할 수 있다. 예를 들어, 제1 그룹의 학습용 이미지들은 x-ray 영상의 고해상도 복원을 위한 인공지능 모델의 훈련에 활용되고, 제2 그룹의 학습용 이미지들은 VR 영상의 고해상도 복원을 위한 인공지능 모델의 훈련에 활용될 수 있다.Specifically, since the std value is a concept that may vary depending on the field of the image (ex. x-ray image for bio, VR image for game, news image, etc.), the artificial
그리고, 스트리밍 모듈(222)은 고해상도 복원을 수행하도록 훈련된 적어도 하나의 인공지능 모델에 대한 데이터를 전자 장치(100)로 전송할 수 있다. 여기서, 인공지능 모델의 데이터는 인공지능 모델의 노드 간 가중치를 포함할 수 있다.In addition, the
통신부(230)는 다양한 유무선 통신방식으로 적어도 하나의 외부 장치와 통신을 수행하기 위한 구성으로, 다양한 통신 방식에 매칭되는 회로, 모듈, 칩 등을 포함할 수 있다. 통신부(230)는 다양한 네트워크를 통해 외부 장치들과 연결될 수 있으며, 전자 장치(100)를 통해 스트리밍 서비스를 제공할 수 있다.The
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 흐름도이다. 도 3은, 전자 장치(100)가 서버(200)로부터 VR 영상 또는 AR 영상의 스트리밍 서비스를 제공받는 상황을 전제로 한다.3 is a flowchart illustrating an operation of an electronic device according to an embodiment of the present disclosure. FIG. 3 assumes a situation in which the
도 3을 참조하면, 전자 장치(100)는 기설정된 시야 범위에 대응되는 제1 이미지 데이터를 포함하는 스트리밍 데이터를 수신할 수 있다(S310).Referring to FIG. 3 , the
예를 들어, 전자 장치(100)는 360도의 시야 범위에 해당하는 VR 영상에 해당하는 제1 이미지 데이터를 실시간으로 수신할 수 있다. 이때, 제1 이미지 데이터는 원본 데이터(고해상도)가 압축된 형태의 저해상도의 이미지 데이터에 해당할 수 있다.For example, the
이때, 전자 장치(100)는 제1 이미지 데이터가 영역 별로 분할된 복수의 부분 이미지를 수신할 수도 있다. 각 영역은, 360도의 중심축을 기준으로 시야각 범위가 서로 구분되는 시야 영역에 해당할 수 있다.In this case, the
이 경우, 전자 장치(100)는 서버(200)로부터 복수의 부분 이미지 각각에 대하여 고해상도 복원을 수행하도록 훈련된 복수의 신경망 모델에 대한 데이터를 수신할 수 있다.In this case, the
이렇듯 분할 이미지 각각의 고해상도 복원을 위한 복수의 신경망 모델에 대한 데이터가 각각 수신되는 경우, 그 용량이 비교적 적고 전송 속도가 빠르다는 장점이 있다. 예를 들어, 전자 장치(100)에 신경망 모델의 레이어 구조가 기저장된 상태에서, 각 분할 이미지에 대하여 고해상도 복원을 수행하기 위한 신경망 모델의 데이터(ex. 노드 간 가중치)가 각각 수신될 수 있다.In this way, when data for a plurality of neural network models for high-resolution reconstruction of each of the divided images is received, the capacity is relatively small and the transmission speed is fast. For example, in a state in which the layer structure of the neural network model is pre-stored in the
그리고, 전자 장치(100)는 사용자의 안구 방향을 추적하여 기설정된 시야 범위 내 사용자의 시야 영역을 식별할 수 있다(S320). 이때, 전자 장치(100)는 시야 영역 추출 모듈(121)을 통해 사용자의 시야 영역을 식별할 수 있다.In addition, the
예를 들어, 전자 장치(100)는 적외선 카메라를 통해 사용자의 안구 영상을 획득하고, 영상을 그레이 레벨로 변환하여 동공 영역을 검출할 수 있다. 그리고, 전자 장치(100)는 동공의 중심 좌표를 바탕으로 사용자의 안구 방향을 추적함으로써, 안구 방향에 매칭되는 시선 방향을 검출할 수 있다. 그 결과, 시선 방향을 중심으로 하는 일정 시야각 범위의 시야 영역이 식별될 수 있다.For example, the
구체적인 예로, 시야 영역은 사용자가 바라보는 시선 방향을 중심으로 하여 30도, 45도, 60도 등 다양한 시야각 범위 내의 영역으로 설정될 수 있다.As a specific example, the viewing area may be set as an area within various viewing angle ranges such as 30 degrees, 45 degrees, and 60 degrees with the user's gaze direction as the center.
이때, 전자 장치(100)는 사용자의 시야 영역을, Foveal 영역, Blend 영역, Peripheral 영역으로 구분할 수 있다.In this case, the
관련하여, 도 4는 본 개시의 일 실시 예에 따른 전자 장치가 사용자의 시야 영역을 구분하는 동작을 설명하기 위한 도면이다.In relation to this, FIG. 4 is a diagram for explaining an operation of an electronic device according to an embodiment of the present disclosure to classify a user's viewing area.
도 4를 참조하면, Foveal 영역은 사용자의 시선이 향하는 중심 지점을 포함하는 일정 시야각의 영역이고, Blend 영역은 Foveal 영역을 둘러싸며 Foveal 영역의 시야각보다 큰 시야각에 대응되는 영역이며, Peripheral 영역은 Foveal 영역과 Blend 영역을 제외한 나머지 영역이다.Referring to FIG. 4, the Foveal area is an area with a certain viewing angle including the central point to which the user's gaze is directed, the Blend area is an area surrounding the Foveal area and corresponding to a viewing angle larger than the Foveal area's viewing angle, and the Peripheral area is the remaining area except for the Foveal area and the Blend area.
예를 들어, Foveal 영역은 30도 이내, Blend 영역은 30도에서 45도 사이, Peripheral 영역은 45도 이상의 시야각 범위에 해당할 수 있으나, 이에 한정되지 않는다.For example, the Foveal area may correspond to a viewing angle within 30 degrees, the Blend area from 30 degrees to 45 degrees, and the Peripheral area may correspond to a viewing angle range of 45 degrees or more, but is not limited thereto.
그리고, 전자 장치(100)는 제1 이미지 데이터 중 식별된 시야 영역의 적어도 일부에 매칭되는 대상 이미지 데이터를 선택할 수 있다(S330).Then, the
구체적으로, 전자 장치(100)는 사용자의 시야 영역 중 Foveal 영역을 식별할 수 있으며, 제1 이미지 데이터 중 Foveal 영역과 대응되는 대상 이미지 데이터를 선택할 수 있다. 즉, 복수의 분할 이미지 중 Foveal 영역에 포함되는 하나 이상의 분할 이미지가 선택될 수 있다.Specifically, the
그리고, 전자 장치(100)는 고해상도 복원을 수행하도록 훈련된 인공지능 모델에 대상 이미지 데이터를 입력하여, 복원 이미지 데이터를 획득할 수 있다(S340).Then, the
이 경우, 전자 장치(100)는 Foveal 영역에 매칭되는 제1 대상 이미지 데이터를 상기 인공지능 모델에 입력하여 제1 복원 이미지 데이터를 획득할 수 있다. 구체적으로, 전자 장치(100)는 Foveal 영역에 포함되는 적어도 하나의 부분 이미지 각각에 매칭되는 적어도 하나의 신경망 모델에, 부분 이미지를 각각 입력할 수 있다.In this case, the
또한, 전자 장치(100)는, Blend 영역에 매칭되는 제2 대상 이미지 데이터에 대해서는 보간 보정을 수행하여 제2 대상 이미지 데이터를 획득할 수 있다. 이때, 보간(interpolation) 보정은, bicubic 보간, 3차 보간 등 종래 알려진 다양한 형태가 가능하다.In addition, the
그리고, 전자 장치(100)는 제1 이미지 데이터 내에서 대상 이미지 데이터를 복원 이미지 데이터로 대체하여 제2 이미지 데이터를 획득하고, 제2 이미지 데이터를 출력할 수 있다(S350). 제2 이미지 데이터에 해당하는 영상은 전자 장치(100)의 디스플레이(140)를 통해 출력될 수도 있고, 전자 장치(100)와 연결된 적어도 하나의 디스플레이 장치를 통해 출력될 수도 있다.Then, the
여기서, 복원 이미지 데이터는 인공지능 모델의 고해상도 복원 및 보간 보정 중 적어도 하나를 거친 이미지 데이터에 해당한다.Here, the reconstructed image data corresponds to image data that has undergone at least one of high-resolution restoration and interpolation correction of the artificial intelligence model.
그 결과, 사용자의 시야 영역 내 일부분만이 선택적으로 고해상도로 출력될 수 있으며, 스트리밍에 필요한 로드를 최소화하면서도 고품질의 콘텐츠 체험이 제공될 수 있다.As a result, only a portion of the user's field of view can be selectively output in high resolution, and a high-quality content experience can be provided while minimizing the load required for streaming.
한편, 도 5는 본 개시의 일 실시 예에 따른 전자 장치가 이미지 데이터의 영역 별로 훈련된 복수의 인공지능 모델을 선택적으로 활용하는 동작을 설명하기 위한 도면이다. 도 5는 360도의 시야 범위에 대한 이미지를 예시로 하고 있지는 않으나, 이미지의 영역 분할 면에서 공통점이 있어 쉬운 설명을 위한 예시에 해당한다.Meanwhile, FIG. 5 is a diagram for explaining an operation of selectively utilizing a plurality of artificial intelligence models trained for each region of image data by an electronic device according to an embodiment of the present disclosure. Although FIG. 5 does not exemplify an image for a 360-degree field of view, it corresponds to an example for easy explanation because the image has a common feature in area division.
도 5를 참조하면, 이미지(510)는 복수의 타일로 구분될 수 있다. 이 경우, 각 타일(: 영역) 별로 별도의 인공지능 모델이 훈련될 수 있다. 이 경우, 서버(200)는 복수의 타일 각각에 해당하는 복수의 부분 이미지를 전자 장치(100)로 전송할 수 있다. 또한, 서버(200)는 복수의 부분 이미지 각각을 고해상도 복원하도록 훈련된 복수의 인공지능 모델 각각에 대한 데이터를 전자 장치(100)로 전송할 수 있다.Referring to FIG. 5 , an
이후, 전자 장치(100)는 사용자의 시야 영역 또는 사용자 명령에 따라 선택된 분할 이미지에 대하여 선택적으로 고해상도 복원을 수행할 수 있으며, 매칭되는 인공지능 모델만이 활용될 수 있다.Thereafter, the
한편, 일 실시 예로, 전자 장치(100)는 제1 이미지 데이터가 시간 별로 분할된 복수의 이미지 프레임을 수신하고, 복수의 이미지 프레임 각각에 대하여 고해상도 복원을 수행하도록 훈련된 복수의 제1 신경망 모델에 대한 데이터를 수신할 수 있다. 즉, 공간에 따른 분할이 외에 시간에 따른 분할 역시 활용될 수 있다.Meanwhile, as an embodiment, the
이때, 복수의 제1 신경망 모델 각각은, 각 이미지 프레임이 영역 별로 분할된 복수의 부분 이미지 각각에 대하여 고해상도 복원을 수행하도록 훈련된 복수의 제2 신경망 모델을 포함할 수 있다. 즉, 시간에 따른 분할에 더하여 공간에 따른 분할도 함께 적용될 수 있다.In this case, each of the plurality of first neural network models may include a plurality of second neural network models trained to perform high-resolution reconstruction on each of a plurality of partial images obtained by dividing each image frame into regions. That is, in addition to division according to time, division according to space may also be applied.
관련하여, 도 6은 본 개시의 일 실시 예에 따른 전자 장치가 이미지 데이터의 시간 구간 별로 훈련된 복수의 인공지능 모델을 선택적으로 활용하는 동작을 설명하기 위한 도면이다. 도 6은 지도 내 다양한 구역을 순차적으로 이동하는 가상의 체험을 위한 복수의 이미지 프레임(image frame 1, 2, 3, 4 등)이 순차적으로 포함된 VR 콘텐츠가 전자 장치(100)를 통해 실시간으로 제공되는 상황을 가정한다.In this regard, FIG. 6 is a diagram for explaining an operation of selectively utilizing a plurality of artificial intelligence models trained for each time interval of image data by an electronic device according to an embodiment of the present disclosure. 6 assumes a situation in which VR content sequentially including a plurality of image frames (image frames 1, 2, 3, 4, etc.) for a virtual experience of sequentially moving through various areas on a map is provided in real time through the
이때, 전자 장치(100)는 서버(200)로부터 복수의 이미지 프레임을 수신할 수 있으며, 각 이미지 프레임에 대해 고해상도 복원을 수행하기 위한 제1 신경망 모델(model 1, 2, 3, 4 등)에 대한 데이터를 각각 수신할 수 있다. 이 경우, 각 이미지 프레임이 영역 별로 분할된 복수의 분할 이미지가 수신될 수 있으며, 분할 이미지 각각의 고해상도 복원을 위한 복수의 제2 신경망 모델에 대한 데이터가 각각 수신될 수도 있다.At this time, the
도 6을 참조하면, 전자 장치(100)는 VR 콘텐츠가 재생되는 시간 구간을 식별함으로써, 상술한 복수의 이미지 프레임 중 적어도 하나의 이미지 프레임을 선택할 수 있다. 또한, 실시간으로 감지된 사용자의 시야 영역을 바탕으로, 이미지 프레임 내 적어도 하나의 분할 이미지를 선택하고, 선택된 분할 이미지를 매칭되는 제2 신경망 모델에 입력하여 고해상도 복원을 수행할 수 있다.Referring to FIG. 6 , the
한편, 사용자의 시야 영역이 구분된 상술한 Foveal 영역, Blend 영역 등은 시스템 환경 내지는 통신 환경에 따라 유동적으로 조정될 수 있다.Meanwhile, the foveal area, the blend area, etc., in which the user's viewing area is divided, can be flexibly adjusted according to the system environment or communication environment.
일 실시 예로, 전자 장치(100)는, 전자 장치(100)가 스트리밍 데이터를 수신하는 속도 및 전자 장치(100)가 인공지능 모델을 통해 고해상도 복원을 수행하는 속도 중 적어도 하나를 바탕으로, Foveal 영역의 시야각 범위를 변경할 수 있다. 시야각 범위의 변경은, 이미지를 바라보는 사용자 시점에서 Foveal 영역의 반경이 달라짐을 의미한다.As an embodiment, the
스트리밍 데이터를 수신하는 속도는, 예를 들어 단위 시간 별로 수신되는 데이터의 용량 또는 이미지 프레임의 수 등을 의미할 수 있다. 고해상도 복원을 수행하는 속도는, 단위 시간 별로 복원되는 픽셀의 수, 이미지 프레임의 수, 또는 복원된 데이터의 용량 등에 해당할 수 있다.The speed at which streaming data is received may mean, for example, the capacity of data received per unit time or the number of image frames. The speed at which high-resolution reconstruction is performed may correspond to the number of pixels reconstructed per unit time, the number of image frames, or the capacity of reconstructed data.
예를 들어, 스트리밍 데이터를 수신하는 속도가 느려질수록 Foveal 영역의 시야각 범위가 작아지고, 스트리밍 데이터를 수신하는 속도가 빨라질수록 Foveal 영역의 시야각 범위가 커질 수 있다. 또한, 고해상도 복원을 수행하는 속도가 느려질수록 Foveal 영역의 시야각 범위가 작아지고, 고해상도 복원을 수행하는 속도가 느려질수록 Foveal 영역의 시야각 범위가 작아질 수 있다.For example, the viewing angle range of the foveal area may decrease as the streaming data reception speed decreases, and the viewing angle range of the foveal area may increase as the streaming data reception speed increases. In addition, the viewing angle range of the foveal region may decrease as the speed of performing the high-resolution reconstruction decreases, and the viewing angle range of the foveal region may decrease as the speed of performing the high-resolution reconstruction decreases.
구체적인 예로, 고해상도 복원을 수행하는 속도가 제1 임계치 미만이 되는 경우, 다시 제1 임계치 미만이 될 때까지 일정 기울기에 따라 Foveal 영역의 시야각 범위가 작아질 수 있다. 이때, Blend 영역의 외곽에 해당하는 시야각 범위는 유지되지만, Foveal 영역이 줄어들면서 Blend 영역의 안쪽 경계에 해당하는 시야각 범위는 좁아져 Blend 영역은 점차 커질 수 있다. 다만, 만약 고해상도 복원을 수행하는 속도가 제1 임계치보다 작은 제2 임계치 미만에 도달하는 경우, Foveal 영역은 사라지고 Blend 영역으로 모두 대체되면서, Blend 영역 전체에 대한 보간 보정만이 실시간으로 수행될 수도 있다.As a specific example, when the speed at which high-resolution reconstruction is performed becomes less than the first threshold, the viewing angle range of the foveal area may be reduced according to a predetermined inclination until the speed again becomes less than the first threshold. At this time, the viewing angle range corresponding to the outer edge of the blend area is maintained, but as the foveal area decreases, the viewing angle range corresponding to the inner boundary of the blend area narrows, and the blend area may gradually increase. However, if the speed of performing high-resolution reconstruction reaches less than the second threshold, which is smaller than the first threshold, the foveal region disappears and is replaced with the blend region, and only interpolation correction for the entire blend region may be performed in real time.
다른 예로, 고해상도 복원을 수행하는 속도가 제1 임계치 이상인 상태에서는, 점차 Foveal 영역의 시야각 범위가 커질 수 있다. 이때, Blend 영역의 외곽에 해당하는 시야각 범위가 함께 커질 수도 있고, 또는 Blend 영역의 외곽에 해당하는 시야각 범위가 그대로 유지된 결과 Blend 영역이 점차 좁아질 수도 있다. 이때, Foveal 영역이 넓어지면서 고해상도 복원을 수행하는 속도는 점차 느려질 수 있으며, 해당 속도가 다시 제1 임계치에 도달한 경우, Foveal 영역의 시야각 범위는 더 이상 커지지 않고 유지될 수 있다.As another example, in a state where the speed for performing high-resolution reconstruction is greater than or equal to the first threshold, the viewing angle range of the foveal area may gradually increase. At this time, the viewing angle range corresponding to the periphery of the blend area may also increase, or the blend area may gradually narrow as a result of maintaining the viewing angle range corresponding to the periphery of the blend area. In this case, as the foveal area widens, the speed at which high-resolution reconstruction is performed may gradually decrease, and when the speed reaches the first threshold value again, the viewing angle range of the foveal area may be maintained without increasing any more.
또한, 일 실시 예로, 전자 장치(100)는 사용자의 시야 영역이 변경되는 속도를 토대로 Foveal 영역의 시야각 범위를 변경할 수도 있다.Also, as an example, the
사용자의 시야 영역이 변경되는 속도(이하 "시야 변경 속도"로 지칭함)는, 사용자의 시선 방향이 변경되면서 단위 시간마다 사용자의 시야 영역에서 사라지고 새로 생겨나는 픽셀의 수에 비례한다. 사용자의 안구 움직임이 빠르거나 고개 돌림이 빠를수록 시야 영역이 변경되는 속도도 빠르다.The speed at which the user's viewing area changes (hereinafter, referred to as "viewing area change speed") is proportional to the number of pixels that disappear from the user's viewing area and are newly created per unit time while the user's viewing direction is changed. The faster the eyeball movement or head turn of the user is, the faster the viewing area is changed.
여기서, 전자 장치(100)는 사용자의 시야 변경 속도가 빠를수록 인공지능 모델의 고해상도 복원이 필요한 실시간 Foveal 영역의 시야각 범위를 작게 설정할 수 있다. 그 결과, 사용자의 빠른 움직임에 따른 로드 한계로 인해 VR 체험의 딜레이가 발생하는 상황이 방지될 수 있다.Here, the
이때, 전자 장치(100)는 사용자의 시야 변경 속도를 실시간으로 예측할 수도 있다. 예를 들어, 전자 장치(100)는 복수의 단위 시간 구간에 대하여 사용자의 시야 변경 속도를 모니터링하여 이력 데이터를 획득할 수 있다. 이때, 전자 장치(100)는 이력 데이터를 바탕으로 예측용 인공지능 모델을 훈련시켜, 인공지능 모델이, 다음에 이어질 단위 시간 구간 내 사용자의 시야 변경 속도를 예측하도록 할 수 있다. In this case, the
여기서, 예측용 인공지능 모델은, 연속되는 단위 시간 구간 각각에 있어 시야 영역에 포함되는 픽셀들의 값을 바탕으로 시야 변경 속도를 예측하기 위한 RNN(Recurrent Neural Network) 또는 LSTM(Long Short-Term Memory) 기반의 모델에 해당할 수 있다. 또한, 예측용 인공지능 모델은, 시야 영역 내에 포함된 적어도 하나의 객체를 인식하기 위한 CNN 기반의 객체 인식용 레이어들을 포함할 수도 있다. 예를 들어, 객체 인식과 관련된 특징 벡터 내지는 객체 인식 결과가 RNN 또는 LSTM 기반의 모델에 함께 입력될 수 있다. 그 결과, 예측용 인공지능 모델은, 실시간으로 시야 영역 내에 나타나는 객체들의 특성(ex. 종류, 컬러, 크기, 개체 수 등)과 시야 변경 속도 간의 연관 관계에 따라 훈련되어 이어질 상황에 대한 시야 변경 속도를 예측할 수 있게 된다. 예를 들어, 특정한 종류의 객체가 나타나는 경우, 유독 사용자의 시야 변경 속도가 빨라지는 등의 상황에 대해 예측용 인공지능 모델이 학습할 수 있게 된다.Here, the artificial intelligence model for prediction is based on a Recurrent Neural Network (RNN) or Long Short-Term Memory (LSTM) for predicting the rate of change of the visual field based on the values of pixels included in the visual field area in each successive unit time interval. It may correspond to a model. Also, the artificial intelligence model for prediction may include CNN-based object recognition layers for recognizing at least one object included in the viewing area. For example, a feature vector or object recognition result related to object recognition may be input to an RNN or LSTM-based model. As a result, the artificial intelligence model for prediction is trained according to the relationship between the characteristics (ex. type, color, size, number of objects, etc.) of objects appearing in the field of view in real time and the rate of change in the field of view, and can predict the rate of change of the field of view for the next situation. For example, when a specific type of object appears, the artificial intelligence model for prediction can learn about a situation where the user's view change speed increases.
이후, 전자 장치(100)는 과거로부터 현재까지 이어지는 복수의 단위 시간 구간 각각의 사용자의 시야 변경 속도를 인공지능 모델에 입력함으로써, 다음에 이어질 미래의 단위 시간 구간에 대한 사용자의 시야 변경 속도를 예측할 수 있다. 이렇게 예측된 단위 시간 구간 별 시야 변경 속도는, 상술한 시야각 범위의 실시간 변경 설정에 실시간으로 활용/적용될 수 있다.Thereafter, the
예를 들어, 단위 시간 구간마다 예측된 사용자의 시야 변경 속도에 따라, 각 단위 시간 구간의 Foveal 영역의 시야각 범위가 설정될 수 있으나, 이에 한정되지는 않는다.For example, the viewing angle range of the foveal area of each unit time interval may be set according to the user's visual field change rate predicted for each unit time interval, but is not limited thereto.
도 7은 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.7 is a block diagram for explaining the configuration of an electronic device according to various embodiments of the present disclosure.
도 7을 참조하면, 전자 장치(100)는 메모리(110), 프로세서(120), 통신부(130), 디스플레이(140), 센서부(150) 외에 사용자 입력부(160), 오디오 출력부(170) 등을 더 포함할 수 있다.Referring to FIG. 7 , the
사용자 입력부(160)는 다양한 명령 또는 정보를 사용자로부터 입력 받기 위한 구성이다. 사용자 입력부(160)는 적어도 하나의 버튼, 터치 패드, 터치 스크린, 마이크, 카메라, 센서 등으로 구현될 수 있다. 또한, 전자 장치(100)는 적어도 하나의 키패드, 버튼, 모션 센서, 가속도 센서, 자이로 센서 등을 구비한 다양한 사용자 입력 장치(ex. 컨트롤러)와 연결될 수도 있다.The user input unit 160 is a component for receiving various commands or information from a user. The user input unit 160 may be implemented with at least one button, a touch pad, a touch screen, a microphone, a camera, a sensor, and the like. In addition, the
오디오 출력부(170)는 다양한 정보를 청각적으로 출력하기 위한 구성으로, 스피커, 이어폰/헤드폰 단자 등을 포함할 수 있다. 일 예로, 전자 장치(100)는 서버(200)로부터 이미지 데이터 및 오디오 데이터를 포함하는 스트리밍 데이터를 수신할 수 있으며, 이미지 데이터의 재생 구간에 맞는 오디오 데이터의 재생 구간을 오디오 출력부(170)를 통해 출력할 수 있다.The
한편, 이상에서 설명된 다양한 실시 예들은 서로 저촉되거나 모순되지 않는 한 두 개 이상의 실시 예가 서로 결합되어 구현될 수 있다.Meanwhile, the various embodiments described above may be implemented by combining two or more embodiments as long as they do not conflict or contradict each other.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.Meanwhile, various embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof.
하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. According to hardware implementation, the embodiments described in this disclosure may be implemented using at least one of application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, and electrical units for performing other functions.
일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.In some cases, the embodiments described herein may be implemented by a processor itself. According to software implementation, embodiments such as procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules described above may perform one or more functions and operations described herein.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 서버, 전자 장치 등에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions) 또는 컴퓨터 프로그램은 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어 또는 컴퓨터 프로그램은 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 서버, 전자 장치 등에서의 처리 동작을 상술한 특정 기기가 수행하도록 한다. Meanwhile, computer instructions or computer programs for performing processing operations in servers, electronic devices, etc. according to various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium. Computer instructions or computer programs stored in such a non-transitory computer readable medium, when executed by a processor of a specific device, cause the above-described specific device to perform processing operations in a server, electronic device, etc. according to various embodiments described above.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.A non-transitory computer readable medium is a medium that stores data semi-permanently and is readable by a device, not a medium that stores data for a short moment, such as a register, cache, or memory. Specific examples of the non-transitory computer readable media may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.Although preferred embodiments of the present disclosure have been shown and described above, the present disclosure is not limited to the specific embodiments described above, and various modifications may be made by those skilled in the art without departing from the gist of the present disclosure claimed in the claims.
100: 전자 장치 110: 메모리
120: 프로세서 130: 통신부
140: 디스플레이 150: 센서부
200: 서버100: electronic device 110: memory
120: processor 130: communication unit
140: display 150: sensor unit
200: server
Claims (7)
기설정된 시야 범위에 대응되는 제1 이미지 데이터를 포함하는 스트리밍 데이터를 수신하는 단계;
사용자의 안구 방향을 추적하여 상기 기설정된 시야 범위 내 사용자의 시야 영역을 식별하는 단계;
상기 제1 이미지 데이터 중 상기 식별된 시야 영역의 적어도 일부에 매칭되는 대상 이미지 데이터를 선택하는 단계;
고해상도 복원을 수행하도록 훈련된 인공지능 모델에 상기 대상 이미지 데이터를 입력하여, 복원 이미지 데이터를 획득하는 단계;
상기 제1 이미지 데이터의 상기 대상 이미지 데이터를 상기 복원 이미지 데이터로 대체하여 제2 이미지 데이터를 획득하고, 상기 제2 이미지 데이터를 출력하는 단계;
상기 사용자의 시야 영역을, 상기 사용자의 시선이 향하는 중심 지점을 포함하는 일정 시야각의 Foveal 영역, 상기 Foveal 영역을 둘러싸며 상기 Foveal 영역의 시야각보다 큰 시야각에 대응되는 Blend 영역, 및 상기 Foveal 영역과 상기 Blend 영역을 제외한 Peripheral 영역으로 구분하는 단계;
상기 전자 장치가 스트리밍 데이터를 수신하는 속도 및 상기 전자 장치가 상기 인공지능 모델을 통해 고해상도 복원을 수행하는 속도 중 적어도 하나를 바탕으로, 상기 Foveal 영역의 시야각 범위를 변경하는 단계;
상기 사용자의 시야 영역이 변경되는 속도를 식별하는 단계; 및
상기 식별된 속도를 바탕으로 상기 Foveal 영역의 시야각 범위를 변경하는 단계;를 포함하고,
상기 복원 이미지 데이터를 획득하는 단계는,
상기 Foveal 영역에 매칭되는 제1 대상 이미지 데이터를 상기 인공지능 모델에 입력하여 제1 복원 이미지 데이터를 획득하고,
상기 Blend 영역에 매칭되는 제2 대상 이미지 데이터에 보간 보정을 수행하여 제2 복원 이미지 데이터를 획득하는, 전자 장치의 제어 방법.In the control method of an electronic device,
Receiving streaming data including first image data corresponding to a preset viewing range;
identifying a viewing area of the user within the preset viewing range by tracking a direction of the user's eyeballs;
selecting target image data that matches at least a part of the identified viewing area from among the first image data;
obtaining reconstructed image data by inputting the target image data to an artificial intelligence model trained to perform high-resolution reconstruction;
obtaining second image data by replacing the target image data of the first image data with the reconstructed image data, and outputting the second image data;
Dividing the user's viewing area into a foveal area with a certain viewing angle including the central point to which the user's gaze is directed, a blend area surrounding the foveal area and corresponding to a viewing angle greater than the viewing angle of the foveal area, and a peripheral area excluding the foveal area and the blend area;
changing a viewing angle range of the foveal area based on at least one of a speed at which the electronic device receives streaming data and a speed at which the electronic device performs high-resolution reconstruction through the artificial intelligence model;
identifying a rate at which the viewing area of the user changes; and
Based on the identified speed, changing the viewing angle range of the foveal area; includes,
Obtaining the restored image data,
obtaining first reconstructed image data by inputting first target image data matched to the foveal region to the artificial intelligence model;
A control method of an electronic device comprising obtaining second reconstructed image data by performing interpolation correction on second target image data that matches the blend region.
상기 스트리밍 데이터를 수신하는 단계는,
상기 제1 이미지 데이터가 영역 별로 분할된 복수의 부분 이미지를 수신하고,
상기 복수의 부분 이미지 각각에 대하여 고해상도 복원을 수행하도록 훈련된 복수의 신경망 모델에 대한 데이터를 수신하고,
상기 대상 이미지 데이터를 선택하는 단계는,
상기 복수의 부분 이미지 중 상기 사용자의 시야 영역에 포함되는 적어도 하나의 부분 이미지를 선택하고,
상기 복원 이미지 데이터를 획득하는 단계는,
상기 선택된 적어도 하나의 부분 이미지 각각에 매칭되는 적어도 하나의 신경망 모델에, 상기 선택된 적어도 하나의 부분 이미지를 각각 입력하는, 전자 장치의 제어 방법.According to claim 1,
Receiving the streaming data,
Receiving a plurality of partial images in which the first image data is divided into regions;
Receiving data for a plurality of neural network models trained to perform high-resolution reconstruction on each of the plurality of partial images;
The step of selecting the target image data,
Selecting at least one partial image included in the user's viewing area from among the plurality of partial images;
Obtaining the restored image data,
and inputting the selected at least one partial image to at least one neural network model that matches each of the selected at least one partial image.
상기 전자 장치의 제어 방법은,
상기 전자 장치가, VR(Virtual Reality) 콘텐츠가 시간 별로 분할된 복수의 이미지 프레임을 포함하는 스트리밍 데이터를 수신하는 단계; 및
상기 전자 장치가 상기 복수의 이미지 프레임 각각에 대하여 고해상도 복원을 수행하도록 훈련된 복수의 제1 신경망 모델에 대한 데이터를 수신하는 단계;를 포함하고,
상기 복수의 제1 신경망 모델 각각은,
각 이미지 프레임이 영역 별로 분할된 복수의 부분 이미지 각각에 대하여 고해상도 복원을 수행하도록 훈련된 복수의 제2 신경망 모델을 포함하고,
상기 전자 장치의 제어 방법은,
상기 전자 장치가 재생하는 상기 VR 콘텐츠 내 시간 구간 및 상기 시간 구간 동안 감지되는 상기 사용자의 시야 영역을 기초로, 적어도 하나의 이미지 프레임 내에 포함된 적어도 하나의 부분 이미지를 선택하는 단계; 및
상기 선택된 적어도 하나의 부분 이미지 각각에 매칭되는 적어도 하나의 제2 신경망 모델을 통해, 상기 선택된 적어도 하나의 부분 이미지에 대한 고해상도 복원을 수행하는 단계;를 더 포함하는, 전자 장치의 제어 방법.According to claim 1,
The control method of the electronic device,
Receiving, by the electronic device, streaming data including a plurality of image frames in which Virtual Reality (VR) content is divided by time; and
Receiving, by the electronic device, data for a plurality of first neural network models trained to perform high-resolution reconstruction on each of the plurality of image frames;
Each of the plurality of first neural network models,
Each image frame includes a plurality of second neural network models trained to perform high-resolution reconstruction on each of a plurality of partial images divided by region;
The control method of the electronic device,
selecting at least one partial image included in at least one image frame based on a time interval within the VR content reproduced by the electronic device and a field of view of the user detected during the time interval; and
The control method of an electronic device further comprising performing high-resolution reconstruction on the selected at least one partial image through at least one second neural network model that matches each of the selected at least one partial image.
상기 서버가 360도의 시야 범위에 대응되는 제1 이미지 데이터를 포함하는 스트리밍 데이터를 상기 전자 장치로 전송하는 단계;
상기 전자 장치가 사용자의 안구 방향을 추적하여 사용자의 시야 영역을 식별하는 단계;
상기 전자 장치가 상기 제1 이미지 데이터 중 상기 식별된 시야 영역에 매칭되는 대상 이미지 데이터를 선택하는 단계;
상기 전자 장치가 고해상도 복원을 수행하도록 훈련된 인공지능 모델에 상기 대상 이미지 데이터를 입력하여, 복원 이미지 데이터를 획득하는 단계;
상기 전자 장치가, 상기 제1 이미지 데이터의 상기 대상 이미지 데이터를 상기 복원 이미지 데이터로 대체하여 제2 이미지 데이터를 획득하고, 상기 제2 이미지 데이터를 출력하는 단계;
상기 전자 장치가, 상기 사용자의 시야 영역을 상기 사용자의 시선이 향하는 중심 지점을 포함하는 일정 시야각의 Foveal 영역, 상기 Foveal 영역을 둘러싸며 상기 Foveal 영역의 시야각보다 큰 시야각에 대응되는 Blend 영역, 및 상기 Foveal 영역과 상기 Blend 영역을 제외한 Peripheral 영역으로 구분하는 단계;
상기 전자 장치가 스트리밍 데이터를 수신하는 속도 및 상기 전자 장치가 상기 인공지능 모델을 통해 고해상도 복원을 수행하는 속도 중 적어도 하나를 바탕으로, 상기 전자 장치가 상기 Foveal 영역의 시야각 범위를 변경하는 단계;
상기 전자 장치가, 상기 사용자의 시야 영역이 변경되는 속도를 식별하는 단계; 및
상기 전자 장치가, 상기 식별된 속도를 바탕으로 상기 Foveal 영역의 시야각 범위를 변경하는 단계;를 포함하고,
상기 복원 이미지 데이터를 획득하는 단계는,
상기 Foveal 영역에 매칭되는 제1 대상 이미지 데이터를 상기 인공지능 모델에 입력하여 제1 복원 이미지 데이터를 획득하고,
상기 Blend 영역에 매칭되는 제2 대상 이미지 데이터에 보간 보정을 수행하여 제2 복원 이미지 데이터를 획득하는 것을 특징으로 하는, 방법.
In the control method of a system including a server and an electronic device,
transmitting, by the server, streaming data including first image data corresponding to a viewing range of 360 degrees to the electronic device;
identifying, by the electronic device, a viewing area of the user by tracking the direction of the user's eyeballs;
selecting, by the electronic device, target image data matching the identified viewing area from among the first image data;
obtaining reconstructed image data by inputting the target image data to an artificial intelligence model trained to perform high-resolution reconstruction by the electronic device;
replacing, by the electronic device, the target image data of the first image data with the restored image data to obtain second image data, and outputting the second image data;
Dividing, by the electronic device, the user's viewing area into a foveal area with a certain viewing angle including the center point to which the user's gaze is directed, a blend area surrounding the foveal area and corresponding to a viewing angle greater than the viewing angle of the foveal area, and a peripheral area excluding the foveal area and the blend area;
changing, by the electronic device, a viewing angle range of the foveal area based on at least one of a speed at which the electronic device receives streaming data and a speed at which the electronic device performs high-resolution reconstruction through the artificial intelligence model;
identifying, by the electronic device, a rate at which the viewing area of the user is changed; and
Changing, by the electronic device, a viewing angle range of the foveal area based on the identified speed;
Obtaining the restored image data,
obtaining first reconstructed image data by inputting first target image data matched to the foveal region to the artificial intelligence model;
Characterized in that, interpolation correction is performed on the second target image data that matches the blend region to obtain second restored image data.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220153506A KR102559721B1 (en) | 2022-11-16 | 2022-11-16 | Control method of electronic apparatus for selectively restore images according to field of view of user |
PCT/KR2023/018448 WO2024106974A1 (en) | 2022-11-16 | 2023-11-16 | Control method for controlling electronic device for selectively processing image according to field of view of user |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220153506A KR102559721B1 (en) | 2022-11-16 | 2022-11-16 | Control method of electronic apparatus for selectively restore images according to field of view of user |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102559721B1 true KR102559721B1 (en) | 2023-07-26 |
Family
ID=87427432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220153506A KR102559721B1 (en) | 2022-11-16 | 2022-11-16 | Control method of electronic apparatus for selectively restore images according to field of view of user |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102559721B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117726656A (en) * | 2024-02-08 | 2024-03-19 | 开拓导航控制技术股份有限公司 | Target tracking method, device, system and medium based on super-resolution image |
WO2024106974A1 (en) * | 2022-11-16 | 2024-05-23 | 주식회사 지디에프랩 | Control method for controlling electronic device for selectively processing image according to field of view of user |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101965746B1 (en) | 2018-10-02 | 2019-04-05 | 주식회사 이노벤터 | Server and method for streaming virtual reality contents |
KR20200028069A (en) * | 2018-09-05 | 2020-03-16 | 트러스트팜모바일 주식회사 | Image processing method and apparatus of tile images |
KR20200079162A (en) * | 2018-12-21 | 2020-07-02 | 주식회사 딥엑스 | Apparatus and method for providing realistic contents |
KR20210142520A (en) * | 2020-05-18 | 2021-11-25 | 삼성전자주식회사 | Method and apparatus for transmitting video content using edge computing service |
-
2022
- 2022-11-16 KR KR1020220153506A patent/KR102559721B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200028069A (en) * | 2018-09-05 | 2020-03-16 | 트러스트팜모바일 주식회사 | Image processing method and apparatus of tile images |
KR101965746B1 (en) | 2018-10-02 | 2019-04-05 | 주식회사 이노벤터 | Server and method for streaming virtual reality contents |
KR20200079162A (en) * | 2018-12-21 | 2020-07-02 | 주식회사 딥엑스 | Apparatus and method for providing realistic contents |
KR20210142520A (en) * | 2020-05-18 | 2021-11-25 | 삼성전자주식회사 | Method and apparatus for transmitting video content using edge computing service |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024106974A1 (en) * | 2022-11-16 | 2024-05-23 | 주식회사 지디에프랩 | Control method for controlling electronic device for selectively processing image according to field of view of user |
CN117726656A (en) * | 2024-02-08 | 2024-03-19 | 开拓导航控制技术股份有限公司 | Target tracking method, device, system and medium based on super-resolution image |
CN117726656B (en) * | 2024-02-08 | 2024-06-04 | 开拓导航控制技术股份有限公司 | Target tracking method, device, system and medium based on super-resolution image |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11861873B2 (en) | Event camera-based gaze tracking using neural networks | |
JP7566906B2 (en) | Split rendering between head mounted display and host computer | |
KR102706553B1 (en) | Image capturing in extended reality environments | |
KR102559721B1 (en) | Control method of electronic apparatus for selectively restore images according to field of view of user | |
EP3337158A1 (en) | Method and device for determining points of interest in an immersive content | |
US20170178395A1 (en) | Light field rendering of an image using variable computational complexity | |
US10964067B2 (en) | Visual quality enhancement of reconstructed point clouds via color smoothing | |
US11709370B2 (en) | Presentation of an enriched view of a physical setting | |
US20190272028A1 (en) | High-speed staggered binocular eye tracking systems | |
US10572764B1 (en) | Adaptive stereo rendering to reduce motion sickness | |
US11556784B2 (en) | Multi-task fusion neural network architecture | |
US20240046583A1 (en) | Real-time photorealistic view rendering on augmented reality (ar) device | |
US20220172440A1 (en) | Extended field of view generation for split-rendering for virtual reality streaming | |
US11170578B1 (en) | Occlusion detection | |
US20210248769A1 (en) | Array-based depth estimation | |
US20240070955A1 (en) | Refinement of facial keypoint metadata generation for video conferencing or other applications | |
US20230091348A1 (en) | Method and device for transmitting image content using edge computing service | |
KR20240050257A (en) | Method and electronic device performing under-display camera (udc) image restoration | |
KR102613032B1 (en) | Control method of electronic apparatus for providing binocular rendering based on depth map matching field of view of user | |
CN114374832B (en) | Control method and device for virtual reality experience, user equipment and network equipment | |
WO2018086960A1 (en) | Method and device for transmitting data representative of an image | |
WO2024080506A1 (en) | Method for restoring udc image, and electrode device | |
US12112511B1 (en) | Optimization of eye capture conditions for each user and use case | |
US20240185536A1 (en) | Object depth estimation processes within imaging devices | |
US20240080423A1 (en) | Fusion techniques for combining most significant bits and least significant bits of image data in image processing or other applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |