KR102314354B1 - Method for receiving web contents for 360-degree multimedia device and apparatus for the same - Google Patents

Method for receiving web contents for 360-degree multimedia device and apparatus for the same Download PDF

Info

Publication number
KR102314354B1
KR102314354B1 KR1020210027528A KR20210027528A KR102314354B1 KR 102314354 B1 KR102314354 B1 KR 102314354B1 KR 1020210027528 A KR1020210027528 A KR 1020210027528A KR 20210027528 A KR20210027528 A KR 20210027528A KR 102314354 B1 KR102314354 B1 KR 102314354B1
Authority
KR
South Korea
Prior art keywords
web content
html
user
data
file
Prior art date
Application number
KR1020210027528A
Other languages
Korean (ko)
Inventor
이준정
Original Assignee
주식회사 레이팝
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 레이팝 filed Critical 주식회사 레이팝
Priority to KR1020210027528A priority Critical patent/KR102314354B1/en
Priority to KR1020210128916A priority patent/KR102482201B1/en
Application granted granted Critical
Publication of KR102314354B1 publication Critical patent/KR102314354B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/149Adaptation of the text data for streaming purposes, e.g. Efficient XML Interchange [EXI] format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Primary Health Care (AREA)
  • Artificial Intelligence (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computational Linguistics (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Medicines Containing Material From Animals Or Micro-Organisms (AREA)

Abstract

The present invention relates to a method and an apparatus for receiving web content for a 360-degree multimedia device. More specifically, the present invention relates to a method and an apparatus for providing HTML5-based web content which can be executed and played back in a virtual reality (VR) or an augmented reality (AR) environment. The method and apparatus for receiving web content for a 360-degree multimedia device in accordance with an embodiment of the present invention can use HTML5 to generate web content which interacts with a user on a universally-used user terminal such as a mobile phone, a personal computer, and the like. The method and apparatus for receiving web content for a 360-degree multimedia device in accordance with an embodiment of the present invention can provide web content which interacts with a user by joining the HTML5 to image data. The method and apparatus for receiving web content for a 360-degree multimedia device in accordance with an embodiment of the present invention can allow a user terminal to use only a web browser without installation of a separate program and the like to consume the web content even with a small amount of a memory by joining the HTML5 to the image data. In accordance with the present invention, the apparatus for generating web content which interacts with a user comprises: a reception unit for receiving image data, one or more hypertext markup language (HTML) file, and time information corresponding to each HTML file; a web content generation unit for generating web content; a transmission unit for transmitting the generated web content to a user terminal; and a display unit.

Description

360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법 및 그 장치 {METHOD FOR RECEIVING WEB CONTENTS FOR 360-DEGREE MULTIMEDIA DEVICE AND APPARATUS FOR THE SAME}Web content receiving method and apparatus for 360-degree multimedia device

본 발명은 360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법 및 그 장치에 관한 것이다. 더욱 상세하게는 VR/AR 환경에서 실행 및 재생 가능한, HTML5 기반의 웹 컨텐츠를 제공하는 방법 및 그 장치에 관한 것이다.The present invention relates to a method and apparatus for receiving web content for a 360-degree multimedia device. More particularly, it relates to a method and an apparatus for providing HTML5-based web content that can be executed and played in a VR/AR environment.

기존에는 PC(personal computer) 상에서 플래시(flash)를 이용하여 동영상을 재생하는 구현예가 많이 있다. 웹 브라우저(web browser) 상에서 동영상을 재생하고 앞으로 재생, 뒤로 재생 그리고 원하는 시간대의 재생 등 다양한 기능이 구현된다.In the past, there are many implementation examples of playing a moving picture using a flash on a personal computer (PC). Various functions are implemented, such as playing a video on a web browser, playing forward, playing backward, and playing at a desired time.

또한, 동영상과 관련된 내용의 자료를 웹 브라우저에 동기화하여 표시할 수도 있다. 그렇지만, 이러한 플래시 콘텐츠는 모바일 단말에서는 적용되지 않아 모바일 단말에서 교육용 동영상 콘텐츠를 재생하면서 관련 학습 자료까지 표시하거나 문제 풀이 또는 메모 등을 하는 기능은 구현할 수 없다.In addition, it is also possible to display the data related to the video in synchronization with the web browser. However, since such flash content is not applied to mobile terminals, functions such as displaying related learning materials or solving problems or taking notes while playing educational video content on the mobile terminal cannot be implemented.

즉, 모바일 단말 상에서는 교육용 동영상 콘텐츠를 단지 하나의 화면 상에 재생만 할 수 있을 뿐, 교육용 동영상 콘텐츠를 보면서 이와 연계된 학습 자료를 표시할 수도 없고 사용자가 메모를 하거나 문제를 풀 수도 없다.That is, on a mobile terminal, educational video content can only be reproduced on one screen, and related learning materials cannot be displayed while viewing the educational video content, and the user cannot take notes or solve problems.

최신 규약인 HTML5(hypertext mark-up language 5)는 액티브 X(active X)를 설치하지 않아도 플래시와 같은 동영상이나 음악 재생은 물론 화려한 그래픽 효과까지도 웹 브라우저(web browser) 상에 구현할 수 있는 장점이 있다.HTML5 (hypertext mark-up language 5), the latest protocol, has the advantage of being able to implement flash-like videos and music, as well as colorful graphic effects, on a web browser without installing active X. .

그러나, 모바일 단말의 웹 브라우저 상의 웹 페이지를 구현하는 HTML5에 의해서도 이러한 동시 출력과 동기화의 구현은 불가하다. 이에, 기존 HTML5의 규약만으로는 불가하며, HTML5의 규약에 대한 변경이나 새로운 구성의 추가가 있어야 가능하다.However, it is impossible to implement such simultaneous output and synchronization even by HTML5 that implements a web page on a web browser of a mobile terminal. Therefore, it is not possible with only the existing HTML5 convention, and it is possible only with a change to the HTML5 convention or the addition of a new configuration.

제10-2013-0082732호 (2013.07.22)No. 10-2013-0082732 (2013.07.22)

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법 및 그 장치를 제공하는데 있다.An object of the present invention for solving the above problems is to provide a method and apparatus for receiving web content for a 360-degree multimedia device.

본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those of ordinary skill in the art to which the present invention belongs from the following description. will be able

상술한 과제를 해결하기 위하여, 실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법은 웹 컨텐츠를 위한 데이터를 수신하는 단계, 상기 웹 컨텐츠를 위한 데이터는 360도 영상 데이터, 하나 또는 그 이상의 HTML 파일들, 각 HTML 파일에 대응하는 상기 시간 정보를 나타내는 XML(eXtensible Markup Language) 데이터, 및 상기 XML 데이터를 파싱(parsing)하기 위한 자바스크립트(JavaScript) 소스를 포함하는 데이터를 포함함; 상기 웹 컨텐츠를 위한 데이터를 파싱하는 단계; 상기 웹 컨텐츠를 사용자의 뷰포트(viewport)의 위치에 기반하여 렌더링하는 단계; 를 포함할 수 있고, 상기 웹 컨텐츠는 상기 자바스크립트 소스에 기초하여 상기 360도 영상 데이터를 재생하도록 구성될 수 있다.In order to solve the above problems, a method for receiving web content for a 360-degree multimedia device according to embodiments includes receiving data for web content, the data for the web content includes 360-degree image data, one or more data including HTML files, eXtensible Markup Language (XML) data representing the temporal information corresponding to each HTML file, and a JavaScript source for parsing the XML data; parsing data for the web content; rendering the web content based on a position of a user's viewport; may include, and the web content may be configured to reproduce the 360-degree image data based on the JavaScript source.

나아가 웹 컨텐츠는 상기 자바스크립트 소스에 기초하여, 현재 시간 정보를 추출함으로써 각 시간 정보에 대응하는 HTML 파일을 구동하도록 구성되고, 상기 웹 컨텐츠는 상기 XML 데이터를 파싱하는데 사용되는 DTD (Document Type Definition) 데이터를 더 포함할 수 있다. Further, the web content is configured to drive an HTML file corresponding to each time information by extracting current time information based on the JavaScript source, and the web content is a DTD (Document Type Definition) used to parse the XML data It may contain more data.

더 나아가 실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법은 상기 웹 컨텐츠를 위한 데이터는 하나 또는 그 이상의 위젯(widget)들을 포함하고, 상기 하나 또는 그 이상의 위젯들은 상기 하나 또는 그 이상의 HTML 파일들에 의해 상기 360도 영상 데이터에 매핑(mapping)될 수 있다.Further, in the method for receiving web content for a 360-degree multimedia device according to embodiments, the data for the web content includes one or more widgets, and the one or more widgets include the one or more HTML Files may be mapped to the 360-degree image data.

더 나아가 실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법은 상기 각 HTML 파일은 상기 HTML 파일에 의해 매핑되는 적어도 하나의 위젯의 상기 360도 영상 데이터 내의 위치를 나타내는 위치 정보를 더 포함할 수 있다. Furthermore, in the method for receiving web content for a 360-degree multimedia device according to embodiments, each HTML file may further include location information indicating a location in the 360-degree image data of at least one widget mapped by the HTML file. can

더 나아가 실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법에서, 상기 위치 정보는 구면 상의 상기 적어도 하나의 위젯의 최좌측의 위치를 나타내는 제1 아지무스 정보, 상기 적어도 하나의 위젯의 최우측의 위치를 나타내는 제2 아지무스 정보, 상기 적어도 하나의 위젯의 최상측의 위치를 나타내는 제1 엘리베이션 정보, 및 상기 적어도 하나의 위젯의 최하측의 위치를 나타내는 제2 엘리베이션 정보를 포함할 수 있다.Furthermore, in the method for receiving web content for a 360-degree multimedia device according to embodiments, the location information includes first azimus information indicating the leftmost position of the at least one widget on a sphere, and the topmost position of the at least one widget. It may include second azimuth information indicating a right position, first elevation information indicating an uppermost position of the at least one widget, and second elevation information indicating a lowermost position of the at least one widget. .

더 나아가 상기 각 HTML 파일은 상기 적어도 하나의 위젯의 회전(rotation)의 정도를 나타내는 회전 정보를 더 포함할 수 있다.Furthermore, each of the HTML files may further include rotation information indicating a degree of rotation of the at least one widget.

실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법 및 그 장치는 HTML5을 이용함으로써 모바일, PC 등 범용적인 사용자의 단말 장치에서 사용자와 상호작용이 가능한 웹 컨텐츠를 생성할 수 있다.The method and the apparatus for receiving web content for a 360-degree multimedia device according to embodiments may generate web content that can interact with a user in a general-purpose user terminal device such as a mobile device or a PC by using HTML5.

실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법 및 그 장치는 영상 데이터에 HTML5를 결합함으로써 사용자와 상호작용이 가능한 웹 컨텐츠를 제공할 수 있다.A method and apparatus for receiving web content for a 360-degree multimedia device according to embodiments may provide web content that can interact with a user by combining HTML5 with image data.

실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법 및 그 장치는 영상 데이터에 HTML5를 결합함으로써 사용자의 단말 장치가 별도의 프로그램 등의 설치 없이 웹 브라우저만을 이용하여 적은 메모리의 양으로도 웹 컨텐츠를 소비할 수 있다.A method and apparatus for receiving web content for a 360-degree multimedia device according to embodiments, by combining HTML5 with image data, allows the user's terminal device to use only a web browser without installing a separate program, using only a web browser with a small amount of memory. You can consume content.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned may be clearly understood by those of ordinary skill in the art to which the present invention belongs from the following description. will be.

본 발명의 특정한 바람직한 실시예들의 상기에서 설명한 바와 같은 또한 다른 측면들과, 특징들 및 이득들은 첨부 도면들과 함께 처리되는 하기의 설명으로부터 보다 명백하게 될 것이다.
도 1은 실시예들에 따른 상호작용이 가능한 웹 컨텐츠를 생성하는 시스템을 나타낸 것이다.
도 2는 본 발명의 일 실시예에 따른 모바일 단말에서 HTML5를 이용하여 학습 영역과 동영상 영역의 상호 작용이 가능하게 하는 학습 장치의 구현 예시도이다.
도 3은 실시예들에 따른 웹 컨텐츠 및 웹 컨텐츠의 재생 방법을 나타낸다.
도 4는 실시예들에 따른 웹 컨텐츠의 예시를 나타낸다.
도 5는 실시예들에 따른 360도 멀티미디어 디바이스(50)의 구조의 예시를 나타낸다.
도 6은 실시예들에 따른 360도 컨텐츠(contents)를 나타낸다.
도 7은 실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠의 예시를 나타낸다.
도 8은 실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠에서 위젯(widget)의 위치를 나타내는 방법을 나타낸다.
도 9는 실시예들에 따른 웹 컨텐츠의 구조를 나타낸다.
도 10은 실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법을 나타내는 흐름도이다.
상기 도면들을 통해, 유사 참조 번호들은 동일한 혹은 유사한 엘리먼트들과, 특징들 및 구조들을 도시하기 위해 사용된다는 것에 유의해야만 한다.
Other aspects, features and benefits as described above of certain preferred embodiments of the present invention will become more apparent from the following description taken in conjunction with the accompanying drawings.
1 illustrates a system for generating interactive web content according to embodiments.
FIG. 2 is an exemplary implementation diagram of a learning apparatus enabling interaction between a learning area and a video area using HTML5 in a mobile terminal according to an embodiment of the present invention.
3 illustrates web content and a method of reproducing web content according to embodiments.
4 shows an example of web content according to embodiments.
5 shows an example of the structure of a 360-degree multimedia device 50 according to embodiments.
6 shows 360-degree contents according to embodiments.
7 illustrates an example of web content for a 360-degree multimedia device according to embodiments.
8 illustrates a method of indicating a location of a widget in web content for a 360-degree multimedia device according to embodiments.
9 illustrates a structure of web content according to embodiments.
10 is a flowchart illustrating a method for receiving web content for a 360-degree multimedia device according to embodiments.
It should be noted that throughout the drawings, like reference numerals are used to denote the same or similar elements, features, and structures.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing each figure, like reference numerals have been used for like elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, and B may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being “connected” or “connected” to another component, it is understood that the other component may be directly connected or connected to the other component, but other components may exist in between. it should be On the other hand, when it is mentioned that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 실시예들에 따른 상호작용이 가능한 웹 컨텐츠를 생성하는 시스템을 나타낸 것이다.1 illustrates a system for generating interactive web content according to embodiments.

실시예들에 따른 상호작용이 가능한 웹 컨텐츠를 생성하는 시스템은 실시예들에 따른 상호작용이 가능한 웹 컨텐츠를 생성하는 생성 장치(또는 그 서버) (100)에 의해 수행될 수 있다. 생성 장치(100)는 실시예들에 따른 상호작용이 가능한 웹 컨텐츠를 생성하는 방법을 수행한다.The system for generating interactive web content according to embodiments may be performed by the generating device (or its server) 100 for generating interactive web content according to embodiments. The generating device 100 performs a method of generating interactive web content according to embodiments.

생성 장치(100)는 실시예들에 따른 웹 컨텐츠를 사용자들에게 제공할 수 있다. 생성 장치(100)는 예를 들어, 사용자의 요청(request)에 따라 사용자가 원하는 웹 컨텐츠를 사용자의 단말 장치 등(101)에 제공할 수 있다.The generating device 100 may provide web content according to embodiments to users. The generating device 100 may provide, for example, a user's desired web content to the user's terminal device 101 according to a user's request.

생성 장치(100)는 예를 들어, 사용자의 요청(10a)에 따라 사용자가 제작하려고 하는 웹 컨텐츠의 완성물을 사용자에게 전송(10b)할 수 있다. 웹 컨텐츠(10d)는 예를 들어, 사용자와 상호작용이 가능한 웹 기반 컨텐츠를 의미할 수 있다. 웹 컨텐츠(10d)는 예를 들어, 웹 브라우저(web browser)에서 구동되는 프로그램 또는 명령어들의 집합으로 구성될 수 있다.The generating device 100 may, for example, transmit ( 10b ) a finished product of the web content that the user intends to produce according to the user's request ( 10a ). The web content 10d may mean, for example, web-based content that can interact with a user. The web content 10d may be composed of, for example, a program or a set of commands run in a web browser.

웹 컨텐츠(10d)는 HTML5 (HyperText Markup Language 5)에 의해 구동되는 웹 기반 컨텐츠일 수 있다. 웹 컨텐츠(10d)는 예를 들어 HTML5에 의해 구동되며, 동영상, 음악, 사진 중 하나 또는 그 이상이 포함되어 사용자에게 제공되는 학습 컨텐츠일 수 있다. 기존에는 모바일 단말 상에서는 플래시(flash)가 구현되지 않기 때문에 교육 동영상 콘텐츠의 경우 교육 동영상 콘텐츠의 재생만 가능할 뿐 별도의 학습 영역을 동시에 구현할 수 없었다. 그러나, 실시예들에 따른 웹 컨텐츠(10d)는 동영상 영역의 동영상 콘텐츠와 학습 영역의 학습 자료를 HTML5의 규약 상에서 시간에 따라 동기화하여 표시하도록 구성할 수 있다. The web content 10d may be web-based content driven by HyperText Markup Language 5 (HTML5). The web content 10d may be, for example, learning content driven by HTML5 and provided to a user by including one or more of a video, music, and photo. In the past, since flash was not implemented on a mobile terminal, in the case of educational video content, only the educational video content could be played, but a separate learning area could not be implemented at the same time. However, the web content 10d according to the embodiments may be configured to display the video content of the video area and the learning material of the learning area in synchronization with time according to the HTML5 convention.

즉, 다시 말하면 사용자는 사용자의 단말 장치(101)를 이용하여 사용자가 제작하고자 하는 웹 컨텐츠(예를 들어, 학습 컨텐츠 등)를 제작할 수 있다. 사용자의 단말 장치(101)는 실시예들에 따른 생성 장치(101)로 사용자가 제작하고자 하는 웹 컨텐츠에 대한 정보를 전송(10a)한다. 생성 장치(101)는 웹 컨텐츠에 대한 정보를 수신하고, 이에 기초하여 사용자가 제작하고자 하는 웹 컨텐츠(10d)를 생성한다. 생성 장치(100)는 생성된 웹 컨텐츠(10d)를 사용자의 단말 장치(101)에게 전송한다.That is, in other words, the user may create web content (eg, learning content, etc.) that the user wants to produce by using the user's terminal device 101 . The user's terminal device 101 transmits (10a) information on the web content that the user wants to produce to the generating device 101 according to the embodiments. The generating device 101 receives information about the web content, and generates the web content 10d that the user wants to produce based on the information. The generating device 100 transmits the generated web content 10d to the user's terminal device 101 .

실시예들에 따른 사용자의 단말 장치(101)는 360도 영상 데이터(이미지 데이터)를 수신하고, 이들을 디코딩 처리 및 파싱하여 사용자의 뷰포트를 렌더링(rendering)하는 360도 멀티미디어 디바이스(multimedia device)일 수 있다. 예를 들어, 실시예들에 따른 사용자의 단말 장치(101)는 헤드-마운트(head mount) 디스플레이를 의미할 수 있다. 실시예들에 따른 사용자의 단말 장치(101)는 360도 이미지/영상 데이터를 수신하고 이들을 처리하여 사용자에게 VR 환경으로 웹 컨텐츠를 소비할 수 있도록 하는 장치일 수 있다.The user's terminal device 101 according to the embodiments may be a 360-degree multimedia device that receives 360-degree image data (image data), decodes and parses them, and renders the user's viewport. have. For example, the user's terminal device 101 according to embodiments may mean a head-mounted display. The user's terminal device 101 according to the embodiments may be a device that receives 360-degree image/video data and processes them to enable the user to consume web content in a VR environment.

이러한 구성으로 인해 실시예들에 따른 상호작용이 가능한 웹 컨텐츠를 생성하는 시스템은 PC에서 구동되는 브라우저 환경이 아닌 다른 환경에서 HTML5를 이용하여 학습 영역과 동영상 영역의 상호 작용이 가능하게 하는 학습 컨텐츠를 생성할 수 있다. Due to this configuration, the system for generating interactive web content according to the embodiments uses HTML5 in an environment other than a browser environment running on a PC to provide learning content that enables interaction between the learning area and the video area. can create

실시예들에 따른 상호작용이 가능한 웹 컨텐츠를 생성하는 방법 및 그 장치는 HTML5을 이용함으로써 모바일, PC 등 범용적인 사용자의 단말 장치에서 사용자와 상호작용이 가능한 웹 컨텐츠를 생성할 수 있다.The method and the apparatus for generating interactive web content according to the embodiments may generate web content that can interact with the user in a general-purpose user terminal device such as a mobile device or a PC by using HTML5.

실시예들에 따른 상호작용이 가능한 웹 컨텐츠를 생성하는 방법 및 그 장치는 영상 데이터에 HTML5를 결합함으로써 사용자와 상호작용이 가능한 웹 컨텐츠를 제공할 수 있다.A method and an apparatus for generating interactive web content according to embodiments may provide web content that can interact with a user by combining HTML5 with image data.

실시예들에 따른 상호작용이 가능한 웹 컨텐츠를 생성하는 방법 및 그 장치는 영상 데이터에 HTML5를 결합함으로써 사용자의 단말 장치가 별도의 프로그램 등의 설치 없이 웹 브라우저만을 이용하여 적은 메모리의 양으로도 웹 컨텐츠를 소비할 수 있다.The method and the apparatus for generating interactive web content according to the embodiments allow the user's terminal device to use only a web browser without installing a separate program by combining HTML5 with image data even with a small amount of memory. You can consume content.

도 2는 실시예들에 따른 웹 컨텐츠의 예시를 나타낸다.2 shows an example of web content according to embodiments.

도 2에 나타난 웹 컨텐츠(20)는 도 1에서 설명한 웹 컨텐츠(10d)의 일부 또는 전부를 의미할 수 있다.The web content 20 shown in FIG. 2 may mean part or all of the web content 10d described in FIG. 1 .

도 2를 참조하면, 실시예들에 따른 웹 컨텐츠(20)는 HTML5 영역(21A) 및/또는 영상 영역(21B)를 포함할 수 있다. 웹 컨텐츠(20)는 HTML5 영역(21A) 및/또는 영상 영역(21B) 모두 포함할 수도 있고, 그 중 하나만 포함할 수도 있다. 또한, 영역은 웹 컨텐츠(20)상의 일부 영역을 점유할 수도 있지만, 특정 영역을 점유하지 않을 수도 있다.Referring to FIG. 2 , web content 20 according to embodiments may include an HTML5 area 21A and/or an image area 21B. The web content 20 may include both the HTML5 area 21A and/or the image area 21B, or only one of them. Also, the region may occupy a partial region on the web content 20 , but may not occupy a specific region.

웹 컨텐츠(20)는 시간의 흐름에 따라 그 내용이 변화하는 영상일 수 있다. 예를 들어, 제1 시간에 나타나는 웹 컨텐츠(20)의 내용과 제2 시간에 나타나는 웹 컨텐츠(20)의 내용은 다를 수 있다. 웹 컨텐츠(20)는 사용자의 조작 또는 입력 등에 따라 그 내용이 변화하는 영상일 수 있다. 예를 들어, 사용자의 조작에 따라 웹 컨텐츠(20)의 내용이 변화할 수 있다. The web content 20 may be an image whose content changes over time. For example, the content of the web content 20 appearing at the first time may be different from the content of the web content 20 appearing at the second time. The web content 20 may be an image whose content changes according to a user's manipulation or input. For example, the content of the web content 20 may change according to a user's manipulation.

웹 컨텐츠(20) 내에서 사용자의 조작에 따라 변화하는 구성은 HTML5 또는 HTML5를 참조하는 CSS, 자바스크립트 등의 파일에 의해 명시될 수 있다.A configuration that changes according to a user's manipulation within the web content 20 may be specified by HTML5 or a file such as CSS or JavaScript referring to HTML5.

HTML5 영역(21A)은 HTML5에 의해 구동될 수 있다. HTML5 영역은 HTML5에 의해 구동될 수도 있지만, HTML5를 참조하는 CSS 파일, 자바스크립트 파일 등에 의해 구동될 수도 있다.The HTML5 region 21A may be driven by HTML5. The HTML5 region may be driven by HTML5, but may also be driven by a CSS file, a JavaScript file, and the like that refer to HTML5.

영상 영역(21B)은 영상 파일에 의해 구동되는 영역일 수 있다. 영상 파일은 예를 들어, 동영상을 포함하는 파일일 수도 있고, 음악(음성)을 포함하는 파일일 수도 있고, 이미지 파일일 수도 있고, 텍스트를 포함하는 파일일 수도 있다.The image area 21B may be an area driven by an image file. The image file may be, for example, a file including a moving picture, a file including music (audio), an image file, or a file including text.

실시예들에 따른 웹 컨텐츠(20)는 영상 영역의 영상 콘텐츠 및 HTML5 영역에서 HTML5 등에 의해 구동되는 영역을 연결(22)하는 구성을 포함할 수 있다. 이러한 연결(22)는 시간(time)을 기준으로 이루어질 수 있고, 사용자로부터 수신하는 신호에 의해 이루어질 수도 있다. 즉, 웹 컨텐츠(20)는 영상 영역의 영상 콘텐츠 및 HTML5 영역에서 HTML5 등에 의해 구동되는 영역이 시간에 따라 동기화되어(22) 표시하도록 구성하고 있다.The web content 20 according to the embodiments may include a configuration for connecting 22 an image content of an image region and a region driven by HTML5 or the like in the HTML5 region. The connection 22 may be made based on time or may be made by a signal received from a user. That is, the web content 20 is configured such that the video content of the video area and the area driven by HTML5 or the like in the HTML5 area are displayed in synchronization with time (22).

예를 들어, 실시예들에 따른 웹 컨텐츠(20)는 제1 시간에서, 영상 영역(21B)의 특정 시간과 HTML5 영역(21A)의 특정 동작(또는 변화)가 동시에 발생하도록 구성할 수 있다. 예를 들어, 실시예들에 따른 웹 컨텐츠(20)는 영상 영역(21B)에 나타난 강사가 오른손으로 특정 지점을 가리키면, HTML 영역에서 특정 지점을 나타내는 부분에 변화가 일어나도록 구성될 수 있다. HTML 영역은 iframe 기반으로 구성되는 영역을 의미할 수 있다.For example, the web content 20 according to the embodiments may be configured such that a specific operation (or change) of the image area 21B and a specific operation (or change) of the HTML5 area 21A occurs simultaneously at the first time. For example, the web content 20 according to the embodiments may be configured such that, when an instructor shown in the image area 21B points to a specific point with her right hand, a change occurs in a portion indicating a specific point in the HTML area. The HTML area may mean an area configured based on an iframe.

예를 들어, 실시예들에 따른 웹 컨텐츠(20)는 동영상 콘텐츠의 각각의 영상 프레임에 대응되는 학습 자료의 페이지(page)를 일일이 대응시켜 동영상 콘텐츠의 어느 장면을 보든지 간에 이와 연계되는 학습 자료 페이지가 동시에 출력되도록 구성될 수 있다.For example, the web content 20 according to the embodiments corresponds to each page of the learning material corresponding to each image frame of the video content, so that no matter which scene of the video content is viewed, the learning material linked thereto. The pages may be configured to be output simultaneously.

또한 예를 들어, 학습 자료 페이지에는 사용자가 학습 중에 직접 줄긋기를 하거나 메모를 적거나 문제풀이를 하거나 자동 채점 등이 되도록 구성되어 사용자가 본인의 메모나 표기, 오답 문제 등을 다시 복습하고 반복할 수 있도록 구성될 수도 있다. Also, for example, on the learning material page, the user can draw lines, write notes, solve problems, or automatically score while learning, so that the user can review and repeat his or her notes, notation, incorrect answers, etc. It may be configured to

실시예들에 따른 웹 컨텐츠(20)는 사용자로부터 신호를 입력받기 위한 컴포넌트(component) (21C)를 포함할 수 있다. 사용자로부터 신호를 입력받기 위한 컴포넌트(component) (21C)는 예를 들어, 사용자가 웹 컨텐츠를 재생/일시정지/중지할 것을 요청(request)하기 위한 아이콘(icon)을 포함하는 컴포넌트일 수 있다. 사용자로부터 신호를 입력받기 위한 컴포넌트(component) (21C)는 예를 들어, 웹 컨텐츠의 현재 재생 시간 정보 및/또는 웹 컨텐츠의 전체 재생 시간 정보를 나타내기 위한 프로그래스 바(progress bar)를 나타내는 컴포넌트일 수 있다. 사용자로부터 신호를 입력받기 위한 컴포넌트(component) (21C)는 웹 컨텐츠의 전체 음량(volume), 배속, 페이지(슬라이드)를 나타내는 컴포넌트를 포함할 수 있다.The web content 20 according to embodiments may include a component 21C for receiving a signal from a user. The component 21C for receiving a signal from the user may be, for example, a component including an icon for requesting that the user play/pause/stop web content. The component 21C for receiving a signal from the user is, for example, a component representing a progress bar for displaying current playing time information of web content and/or total playing time information of web content can be The component 21C for receiving a signal from the user may include a component indicating the total volume, double speed, and page (slide) of web content.

실시예들에 따른 웹 컨텐츠는 사용자로부터 신호를 입력받기 위한 컴포넌트(component) (21C)에 기초하여 사용자로부터 입력 신호를 수신할 수 있다. 웹 컨텐츠는 사용자로부터 수신한 신호를 자바스크립트 소스에 기초하여 각 시간 정보에 대응하는 HTML 파일을 구동하도록 구성될 수 있다. 예를 들어, 사용자가 컴포넌트(21C)를 이용하여 제1 시간의 웹 컨텐츠를 재생한 경우, 웹 컨텐츠는 제1 시간에 대응하는 HTML 파일들을 구동할 수 있다.Web content according to embodiments may receive an input signal from a user based on a component 21C for receiving a signal from the user. The web content may be configured to drive an HTML file corresponding to each time information based on a JavaScript source based on a signal received from the user. For example, when the user reproduces the web content of the first time using the component 21C, the web content may drive HTML files corresponding to the first time.

도 3은 실시예들에 따른 웹 컨텐츠 및 웹 컨텐츠의 재생 방법을 나타낸다.3 illustrates web content and a method of reproducing web content according to embodiments.

도 3에 나타난 실시예들에 따른 웹 컨텐츠는 도 1 내지 도 2에 나타난 실시예들에 따른 웹 컨텐츠를 의미한다. 도 3에 나타난 생성 장치는 도 1 내지 도 2에 설명한 생성 장치(100)에서 생성될 수 있다.The web content according to the embodiments shown in FIG. 3 means web content according to the embodiments shown in FIGS. 1 to 2 . The generating device shown in FIG. 3 may be generated by the generating device 100 described with reference to FIGS. 1 to 2 .

도 3에 나타난 실시예들에 따른 웹 컨텐츠는 사용자의 단말 장치에서 재생될 수 있다. 예를 들어, 사용자의 단말 장치는 웹 컨텐츠를 구성하는 파일들(예를 들어, 영상 파일들, HTML 파일들 및/또는 기타 자바스크립트 파일, CSS파일 등)을 웹 브라우저를 통해 다운로드한다. 사용자의 단말 장치는 웹 컨텐츠를 구성하는 파일들을 이용하여 웹 컨텐츠를 재생(구동)한다.The web content according to the embodiments shown in FIG. 3 may be reproduced on the user's terminal device. For example, the user's terminal device downloads files (eg, image files, HTML files, and/or other JavaScript files, CSS files, etc.) constituting web content through a web browser. The user's terminal device plays (drives) the web content by using the files constituting the web content.

실시예들에 따른 웹 컨텐츠는 멀티미디어 컨텐츠(30) 및/또는 적어도 하나의 HTML 소스(31)를 포함할 수 있다. 멀티미디어 컨텐츠(30)는 도 2의 영상 영역의 영상 콘텐츠를 의미할 수 있다. 멀티미디어 컨텐츠(30)는 예를 들어, 영상 컨텐츠 등으로 호칭될 수 있다. HTML 소스(31)는 HTML5 영역에서 HTML5 등에 의해 구동되는 영역을 기술하는 소스를 의미할 수 있다. HTML 소스(31)는 HTML5기반의 소스코드로 구성될 수 있다. 예를 들어 HTML 소스(31)는 iframe 태그로 구성된 소스코드를 의미할 수도 있다. HTML 소스(31)는 HTML5로 구성된 소스코드일 수도 있고, CSS 및/또는 자바스크립트 등이 포함될 수도 있다.Web content according to embodiments may include multimedia content 30 and/or at least one HTML source 31 . The multimedia content 30 may mean image content in the image area of FIG. 2 . The multimedia content 30 may be called, for example, image content. The HTML source 31 may mean a source describing a region driven by HTML5 or the like in the HTML5 region. The HTML source 31 may be composed of HTML5-based source code. For example, the HTML source 31 may mean a source code composed of an iframe tag. The HTML source 31 may be a source code composed of HTML5, and may include CSS and/or JavaScript.

멀티미디어 컨텐츠(30)는 시간(time)의 흐름에 따른 이미지 및/또는 소리 등으로 표현될 수 있다. 멀티미디어 컨텐츠(30)는 시간 단위로 복수의 프레임(frame)들을 포함할 수 있다.The multimedia content 30 may be expressed as images and/or sounds according to the passage of time. The multimedia content 30 may include a plurality of frames in units of time.

멀티미디어 컨텐츠(30)는 적어도 하나의 HTML 소스(31)와 시간(time)을 매개로 결합될 수 있다. 예를 들어, 도 3을 참조하면, 멀티미디어 컨텐츠(30)의 4번 시간단위에는 HTML5 01의 HTML 소스(31)과 결합될 수 있다. 예를 들어, 도 3을 참조하면, 멀티미디어 컨텐츠(30)의 13번 시간단위에는 HTML5 03의 HTML 소스(31)과 결합될 수 있다. 예를 들어, 멀티미디어 컨텐츠(30)는 특정 시간에 HTML 소스(31)에 나타난 바에 따른 동작을 수행하도록 구성될 수 있다.The multimedia content 30 may be combined with at least one HTML source 31 via time. For example, referring to FIG. 3 , the fourth time unit of the multimedia content 30 may be combined with the HTML source 31 of HTML5 01 . For example, referring to FIG. 3 , the 13th time unit of the multimedia content 30 may be combined with the HTML source 31 of HTML5 03 . For example, the multimedia content 30 may be configured to perform an action as indicated in the HTML source 31 at a particular time.

실시예들에 따른 HTML5 통합 플레이어(32)에 대하여 설명한다.An HTML5 integrated player 32 according to embodiments will be described.

HTML5 통합 플레이어(32)는 실시예들에 따른 웹 컨텐츠를 재생한다. HTML5 통합 플레이어(32)는 도 1의 사용자의 단말 장치(101) 내에 포함될 수 있다. HTML5 통합 플레이어(32)는 사용자의 단말 장치에 설치된 프로그램일 수도 있고, 사용자의 단말 장치에서 지원하는 웹 브라우저일 수도 있다.The HTML5 integrated player 32 plays web content according to embodiments. The HTML5 integrated player 32 may be included in the user's terminal device 101 of FIG. 1 . The HTML5 integrated player 32 may be a program installed in the user's terminal device or a web browser supported by the user's terminal device.

HTML5 통합 플레이어(32)는 상술한 웹 컨텐츠를 시간 값에 기초하여 재생한다. 실시예들에 따른 웹 컨텐츠는, 웹 컨텐츠의 재생 시작 시점부터 시간값 데이터를 발생시킨다. 시간값 데이터는 통합 플레이어에 주기적으로 입력된다. 입력된 정보는 다시 HTML5 컨테이너로 전달된다. 사전에 HTML5 컨테이너에 입력된 시간값 정보와 멀티미디어에서 발생된 시간값 정보가 동일한 경우 HTML 소스(31)로 그에 해당하는 HTML5 단위 페이지 문서를 호출한다.The HTML5 integrated player 32 plays the above-described web content based on the time value. Web content according to embodiments generates time value data from a playback start time of the web content. Time value data is periodically input to the integrated player. The input information is transferred back to the HTML5 container. When the time value information input in the HTML5 container in advance and the time value information generated in the multimedia are the same, the HTML5 unit page document corresponding thereto is called as the HTML source 31 .

HTML5 통합 플레이어(32)는 멀티미디어와 같이 시간값 정보를 발생시키는 구성 요소 중 하나이다. 예를 들어, 사용자의 플레이어 조작으로 임의의 시간 값 데이터의 변동이 발생될 경우, 플레이어는 변경된 시간값 정보를 멀티미디어 콘텐츠와 HTML5 컨테이너로 전달한다. 멀티미디어로 전달된 시간값은 해당 시점부터 영상이 재생되도록 동기화 한다. HTML5 컨테이너로 전달된 시간값은 순차 재생 시와 동일한 방법으로 HTML5 단위페이지를 호출한다. The HTML5 integrated player 32 is one of the components that generate time value information like multimedia. For example, when any change in time value data occurs due to the user's manipulation of the player, the player transmits the changed time value information to the multimedia content and the HTML5 container. The time value transmitted to the multimedia is synchronized so that the video is played from the corresponding time point. The time value passed to the HTML5 container calls the HTML5 unit page in the same way as in sequential playback.

여기서 실시예들에 따른 멀티미디어 컨텐츠(30)는 VR/AR 환경에서 수행되는 360도 이미지 및/또는 영상 데이터일 수 있다. 예를 들어 실시예들에 따른 멀티미디어 컨텐츠(30)는 파노라마(panorama) 이미지/영상일 수도 있고, 전방향(omnidirectional) 이미지/영상일 수도 있고, 포인트 클라우드 데이터(point cloud data)일 수도 있다. 실시예들에 따른 멀티미디어 컨텐츠(30)는 ISOBMFF 형태의 파일(file)로 이루어진 데이터일 수도 있다.Here, the multimedia content 30 according to the embodiments may be a 360-degree image and/or video data performed in a VR/AR environment. For example, the multimedia content 30 according to the embodiments may be a panoramic image/video, an omnidirectional image/video, or point cloud data. The multimedia content 30 according to the embodiments may be data in the form of an ISOBMFF file.

도 4는 실시예들에 따른 웹 컨텐츠의 예시를 나타낸다.4 shows an example of web content according to embodiments.

도 4에 나타난 실시예들에 따른 웹 컨텐츠는 예를 들어 전체 영상형, 혼합형 및/또는 음성형 등으로 구분될 수 있다. 도 3에 나타난 실시예들에 따른 웹 컨텐츠는 도 1 내지 도 3에 나타난 웹 컨텐츠를 의미할 수 있다.The web content according to the embodiments shown in FIG. 4 may be divided into, for example, a full video type, a mixed type, and/or an audio type. The web content according to the embodiments shown in FIG. 3 may mean the web content shown in FIGS. 1 to 3 .

전체 영상형은 HTML로 구성된 HTML 영역과 영상 영역이 전부 오버랩(overlap)되는 웹 컨텐츠의 유형일 수 있다. 예를 들어, 전체 영상형은 영상 영역이 전체 화면(또는 웹 컨텐츠의 전체 영역 부분)으로 구성되고, HTML에 의해 구동되는 영역이 일부 또는 전부 화면의 영역으로 구성될 수 있다.The full image type may be a type of web content in which an HTML region composed of HTML and an image region all overlap. For example, in the full video type, the image area may be configured as the entire screen (or the entire area part of the web content), and the area driven by HTML may be configured as part or all of the screen area.

예를 들어, 전체 영상형은 지정된 콘텐츠 화면 전체에 영상 영역을 배치하고 영상 레이아웃 상위에 동영상 영역과 동일한 사이즈의 iframe을 배치한 형태일 수 있다. 전체 영상형에서, HTML5 단위 페이지는 투명 배경을 설정하여 하위에서 재생되고 있는 영상 화면이 함께 노출될 수 있다. 전체 영상 유형의 웹 컨텐츠는 영상의 내용에 따라 화면에 제시되는 부가 정보를 다양한 그래픽 효과와 함께 제공할 수 있다.For example, the overall image type may be a form in which an image area is arranged on the entire screen of a designated content and an iframe having the same size as the moving image area is arranged above the image layout. In the full video format, the HTML5 unit page may set a transparent background so that the video screen being played in the lower part can be exposed together. The web content of the entire image type may provide additional information presented on the screen along with various graphic effects according to the content of the image.

혼합형은 HTML로 구성된 HTML 영역 및/또는 영상 영역이 전체 화면(또는 웹 컨텐츠의 전체 영역 부분) 중 각각 일부 영역에만 포함되는 경우를 의미할 수 있다. 여기서 HTML 영역 및/또는 영상 영역은 서로 겹칠 수도 있고 겹치치 않게 배치될 수 있다.The hybrid type may mean a case in which the HTML region and/or the image region composed of HTML is included in only a partial region of the entire screen (or the entire region of the web content). Here, the HTML region and/or the image region may overlap each other or may be arranged non-overlapping.

예를 들어, 혼합형은 콘텐츠의 화면을 분할하여 iframe과 동영상을 각각 배치하는 형식일 수 있다. 예를 들어, 도 4의 중앙에 나타난 도면을 참조하면, 웹 컨텐츠의 왼쪽에 iframe을 오른쪽에 설명 동영상을 배치한 형식의 웹 컨텐츠가 혼합형일 수 있다. 이 유형에서, 영상 영역 및/또는 HTML 영역은 그 배치 방식이나 크기는 자유롭게 조정할 수 있다. 부분 영상 유형의 예시 콘텐츠는 크로마키 기법으로 영상을 촬영하여 iframe의 HTML5 단위 페이지의 배경과 동일 배경으로 편집하여 시각적으로 하나의 콘텐츠로 보이게 하였다. 크로마키 촬영이 어려울 경우 iframe과 영상 영역을 분리된 형태로 구성하여도 무방하다. 영상의 시간값에 따라 iframe의 부가 정보가 상시 노출되는 형식이다.For example, the mixed type may be a format in which an iframe and a video are respectively arranged by dividing the screen of the content. For example, referring to the drawing shown in the center of FIG. 4 , the web content in the form of arranging an iframe on the left side of the web content and an explanation video on the right side may be a mixed type. In this type, the image area and/or the HTML area can be freely adjusted in its arrangement and size. For example content of the partial image type, an image was captured using the chroma key technique and edited with the same background as the background of the HTML5 unit page of the iframe to visually appear as one content. If it is difficult to shoot chroma key, it is okay to configure the iframe and the image area in a separate form. It is a format in which the additional information of the iframe is always exposed according to the time value of the image.

음성형은 영상 파일이 음성 파일이며, HTML 영역만으로 구성되며 음성 파일의 시간값을 이용하여 전체 화면을 구성하는 웹 컨텐츠의 유형일 수 있다. 음성형의 웹 컨텐츠는 이미지 및/또는 텍스트로 구성된 화면을 제공한다. HTML5 멀티미디어 융합 콘텐츠의 유형을 선정함에 있어 구성 방식은 전적으로 화면 설계의 외형적인 기준과 사용하는 멀티미디어 리소스의 종류에 따랐으며, 내용적인 효과성은 고려하지 않았다. 다만 플래시 기반으로 개발되었던 콘텐츠 유형들은 모두 표현이 가능할 수 있도록 고려하였다.The audio type may be a type of web content in which an image file is an audio file, consists of only an HTML region, and constitutes an entire screen using the time value of the audio file. The voice-type web content provides a screen composed of images and/or text. In selecting the type of HTML5 multimedia convergence content, the composition method completely followed the external standard of screen design and the type of multimedia resource used, and did not consider the effectiveness of the content. However, all content types developed based on Flash were considered so that they could be expressed.

도 5는 실시예들에 따른 360도 멀티미디어 디바이스(50)의 구조의 예시를 나타낸다.5 shows an example of the structure of a 360-degree multimedia device 50 according to embodiments.

실시예들에 따른 360도 멀티미디어 디바이스(50)는 도 1에 나타난 사용자의 단말 장치(101)를 의미할 수 있다. 실시예들에 따른 360도 멀티미디어 디바이스(50)는 예를 들어, HMD(Head Mount Display)를 의미할 수 있다. 실시예들에 따른 360도 멀티미디어 디바이스(50)는 예를 들어 VR/AR 기능을 구현하기 위한 디스플레이를 포함할 수 있고, VR/AR을 구현하기 위한 360도 영상 데이터를 수신하고 이를 처리하여 사용자에게 렌더링할 수 있는 디바이스를 의미할 수 있다.The 360-degree multimedia device 50 according to embodiments may refer to the user's terminal device 101 shown in FIG. 1 . The 360-degree multimedia device 50 according to the embodiments may mean, for example, a Head Mount Display (HMD). The 360-degree multimedia device 50 according to the embodiments may include, for example, a display for implementing a VR/AR function, and receives and processes 360-degree image data for implementing VR/AR to provide a user It may mean a device capable of rendering.

360도 영상 데이터는 예를 들어, 360도 이미지 데이터(360 degree image data), 360도 비디오 데이터(360 degree video data)를 의미할 수 있다. 구체적으로 360도 영상 데이터는 파노라마(panorama) 이미지/비디오를 의미할 수도 있고, 전방향(omnidirectional) 이미지/비디오를 의미할 수도 있다.The 360-degree image data may mean, for example, 360-degree image data and 360-degree video data. Specifically, 360 degree image data may mean a panoramic image/video or an omnidirectional image/video.

실시예들에 따른 360도 멀티미디어 디바이스(50)는 예를 들어, 수신 처리부(51), 파싱부(52), 렌더링부(53) 및/또는 디스플레이부(54)를 포함할 수 있다.The 360-degree multimedia device 50 according to embodiments may include, for example, a reception processing unit 51 , a parsing unit 52 , a rendering unit 53 , and/or a display unit 54 .

수신 처리부(51)는 서버(server) 또는 웹 컨텐츠 제공자로부터 웹 컨텐츠를 수신할 수 있다. 수신 처리부(51)는 예를 들어, 웹 컨텐츠를 구성하는 하나 또는 그 이상의 파일들, 웹 컨텐츠를 구성하는 영상 데이터 등을 수신할 수 있다. 여기서, 웹 컨텐츠를 구성하는 하나 또는 그 이상의 파일들, 웹 컨텐츠를 구성하는 영상 데이터가 압축(compress)되어 하나의 파일로 구성될 수 있다. 예를 들어, 압축된 파일(encapsulated file)은 ISOBMFF 형식에 기반하여 인캡슐레이팅된 파일일 수 있다. 수신 처리부(51)는 인캡슐레이팅된 파일을 디캡슐레이팅(decapsulating)하여 웹 컨텐츠를 구성하는 하나 또는 그 이상의 파일들, 웹 컨텐츠를 구성하는 영상 데이터 등을 추출할 수 있다.The reception processing unit 51 may receive web content from a server or a web content provider. The reception processing unit 51 may receive, for example, one or more files constituting the web content, image data constituting the web content, and the like. Here, one or more files constituting the web content and image data constituting the web content may be compressed to form a single file. For example, the compressed file may be an encapsulated file based on the ISOBMFF format. The reception processing unit 51 may decapsulate the encapsulated file to extract one or more files constituting the web content, image data constituting the web content, and the like.

파싱부(52)는 웹 컨텐츠를 구성하는 하나 또는 그 이상의 파일들, 웹 컨텐츠를 구성하는 영상 데이터를 파싱(parsing)한다. 웹 컨텐츠를 구성하는 하나 또는 그 이상의 파일들은 예를 들어, 360도 영상 데이터, 하나 또는 그 이상의 HTML 파일들, 각 HTML 파일에 대응하는 상기 시간 정보를 나타내는 XML(eXtensible Markup Language) 데이터, 및 상기 XML 데이터를 파싱(parsing)하기 위한 자바스크립트(JavaScript) 소스를 포함하는 데이터를 포함할 수 있다. 파싱부(52)는 360도 영상 데이터, 하나 또는 그 이상의 HTML 파일들, 각 HTML 파일에 대응하는 상기 시간 정보를 나타내는 XML(eXtensible Markup Language) 데이터, 및 상기 XML 데이터를 파싱(parsing)하기 위한 자바스크립트(JavaScript) 소스를 포함하는 데이터를 수신한 파일들로부터 추출하여 분류, 디코딩(decoding) 처리한다. 파싱부(52)는 상술한 자바스크립트(JavaScript) 소스를 이용하여 시간 정보를 나타내는 XML(eXtensible Markup Language) 데이터를 추출(파싱)한다.The parsing unit 52 parses one or more files constituting the web content and image data constituting the web content. One or more files constituting the web content include, for example, 360-degree image data, one or more HTML files, XML (eXtensible Markup Language) data representing the time information corresponding to each HTML file, and the XML It may include data including a JavaScript source for parsing the data. The parsing unit 52 includes 360-degree image data, one or more HTML files, XML (eXtensible Markup Language) data indicating the time information corresponding to each HTML file, and Java for parsing the XML data. Data including script (JavaScript) source is extracted from received files, classified and decoded. The parsing unit 52 extracts (parses) XML (eXtensible Markup Language) data representing time information by using the above-described JavaScript source.

렌더링부(53)는 파싱부(52)에 의해 파싱 및/또는 디코딩 처리된 360도 영상 데이터, 하나 또는 그 이상의 HTML 파일들, 각 HTML 파일에 대응하는 상기 시간 정보를 나타내는 XML(eXtensible Markup Language) 데이터, 및 상기 XML 데이터를 파싱(parsing)하기 위한 자바스크립트(JavaScript) 소스를 이용하여, 사용자에게 보여지는 화면 상의 영역(이미지 등)을 생성(재구성)한다. The rendering unit 53 includes 360-degree image data parsed and/or decoded by the parsing unit 52, one or more HTML files, and XML (eXtensible Markup Language) representing the time information corresponding to each HTML file. Data and a JavaScript source for parsing the XML data is used to create (reconstruct) an area (image, etc.) on the screen that is displayed to the user.

렌더링부(53)는 사용자에게 보여지는 영역을 재구성한다. 따라서, 렌더링부(53)는 사용자가 바라보는 위치 즉, 뷰포트(viewport) 정보에 기초하여 사용자에게 보여지는 이미지/영상을 생성한다. 뷰포트(viewport) 정보는 실시예들에 따른 360도 멀티미디어 디바이스 내에서 생성될 수 있다.The rendering unit 53 reconstructs the area shown to the user. Accordingly, the rendering unit 53 generates an image/image shown to the user based on the position where the user looks, that is, viewport information. Viewport information may be generated within a 360 degree multimedia device in accordance with embodiments.

디스플레이부(54)는 렌더링부(53)에 의해 생성 및/또는 재구성된 화면 상의 영역(이미지)를 디스플레이(display)한다.The display unit 54 displays an area (image) on the screen generated and/or reconstructed by the rendering unit 53 .

도 6은 실시예들에 따른 360도 컨텐츠(contents)를 나타낸다.6 shows 360-degree contents according to embodiments.

도 6(A)는 실시예들에 따른 360도 컨텐츠를 평면으로 프로젝션(projecteion)한 것을 나타낸다. 즉, 도 6(A)는 360도 컨텐츠를 사각형 이미지(rectangular image) (60)로 나타낸 것이다. 도 6(B)는 실시예들에 따른 360도 컨텐츠를 구면(sphere surface) (62)상에 투영한 것을 나타낸다. FIG. 6A illustrates projection of 360-degree content on a plane according to embodiments. That is, FIG. 6(A) shows 360-degree content as a rectangular image 60 . 6(B) shows the projection of 360-degree content on a sphere surface 62 according to embodiments.

실시예들에 따른 멀티미디어 디바이스(multimedia device)는 실시예들에 따른 360도 컨텐츠를 도 6(A)에 나타난 바와 같이 사각형 이미지(60)로 수신한다. 즉, 실시예들에 따른 수신한 360도 영상 데이터(60)는 도 6(A)와 같은 사각형 이미지 형태의 이미지 또는 영상(60)일 수 있다.The multimedia device according to the embodiments receives the 360-degree content according to the embodiments as a rectangular image 60 as shown in FIG. 6(A) . That is, the received 360-degree image data 60 according to embodiments may be an image or an image 60 in the form of a rectangular image as shown in FIG. 6(A) .

실시예들에 따른 멀티미디어 디바이스(multimedia device)는 도 6(A)와 같은 사각형 이미지(60) 형태로 영상 데이터를 수신하고, 이들 중 사용자가 바라보는 시선 즉 뷰포트(viewport)에 기초하여, 사용자가 바라보는 영역(61)을 파싱 및 디코딩 처리하여 이를 렌더링(재구성)한다.A multimedia device according to embodiments receives image data in the form of a rectangular image 60 as shown in FIG. 6(A), and among them, based on a user's gaze, that is, a viewport, the user The viewing area 61 is parsed and decoded to render (reconstruct) it.

사용자가 바라보는 영역(61)은 예를 들어 뷰포트(viewport)라고 할 수도 있다. 뷰포트(61)를 나타내는 정보는 실시예들에 따른 멀티미디어 디바이스가 생성할 수 있다. The area 61 that the user looks at may be referred to as, for example, a viewport. The information indicating the viewport 61 may be generated by the multimedia device according to the embodiments.

실시예들에 따른 360도 컨텐츠(60)는 아지무스(azimuth) 및 엘리베이션(elevation)으로 특정 지점의 위치를 표현할 수 있다. 예를 들어, 61a를 가리키는 지점은 +60도의 아지무스와 +60도의 엘리베이션에 위치한 것으로 표현될 수 있다. 즉, 61a 지점은 사용자가, 중앙이 되는 지점부터 60도 시계방향으로 가로 방향으로 회전하고, 60도 위쪽 방향으로 고개를 회전했을 때 사용자가 바라보게 되는 지점을 의미할 수 있다.The 360-degree content 60 according to embodiments may express the location of a specific point with azimuth and elevation. For example, the point pointing to 61a may be expressed as being located at an azimuth of +60 degrees and an elevation of +60 degrees. That is, the point 61a may mean a point that the user looks at when the user rotates 60 degrees clockwise from the central point in the horizontal direction, and rotates the head 60 degrees upward.

실시예들에 따른 멀티미디어 디바이스(multimedia device)는 뷰포트(viewport) (61)를 나타내는 정보를 생성한다. 뷰포트(61)를 나타내는 정보는 아지무스 및 엘리베이션으로 표현될 수 있다.A multimedia device according to embodiments generates information indicating a viewport 61 . Information representing the viewport 61 may be expressed by azimuth and elevation.

도 7은 실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠의 예시를 나타낸다.7 illustrates an example of web content for a 360-degree multimedia device according to embodiments.

실시예들에 따른 360도 멀티미디어 디바이스는 도 7에 나타난 웹 컨텐츠(70)를 재구성(렌더링)한다. 즉, 실시예들에 따른 360도 멀티미디어 디바이스는 웹 컨텐츠를 위한 데이터를 수신한다. 실시예들에 따른 웹 컨텐츠를 위한 데이터는 360도 영상 데이터, 하나 또는 그 이상의 HTML 파일들, 각 HTML 파일에 대응하는 상기 시간 정보를 나타내는 XML(eXtensible Markup Language) 데이터, 및 상기 XML 데이터를 파싱(parsing)하기 위한 자바스크립트(JavaScript) 소스를 포함하는 데이터를 포함할 수 있다.The 360-degree multimedia device according to the embodiments reconstructs (renders) the web content 70 shown in FIG. 7 . That is, the 360-degree multimedia device according to the embodiments receives data for web content. Data for web content according to embodiments includes 360-degree image data, one or more HTML files, XML (eXtensible Markup Language) data indicating the time information corresponding to each HTML file, and parsing the XML data ( It may include data including a JavaScript source for parsing).

실시예들에 따른 360도 멀티미디어 디바이스는 웹 컨텐츠를 위한 데이터를 수신하고 이들을 디코딩 처리하여 웹 컨텐츠(70)를 재구성할 수 있고, 특히 실시예들에 따른 360도 멀티미디어 디바이스는 사용자의 뷰포트(71b) 영역을 재구성(렌더링)할 수 있다.The 360-degree multimedia device according to the embodiments may reconstruct the web content 70 by receiving data for the web content and decoding them. Regions can be reconstructed (rendered).

실시예들에 따른 웹 컨텐츠(70)는 하나 또는 그 이상의 위젯(Widget)들 (71a 내지 71d)을 포함할 수 있다. 하나 또는 그 이상의 위젯(widget)들 (71a 내지 71d)은 웹 컨텐츠를 위한 데이터 내의 하나 또는 그 이상의 HTML 파일들에 포함될 수 있다. 즉, 실시예들에 따른 웹 컨텐츠를 위한 데이터는 하나 또는 그 이상의 위젯(widget)들을 나타내는 데이터를 포함하는 하나 또는 그 이상의 HTML 파일들을 포함할 수 있다.The web content 70 according to embodiments may include one or more widgets 71a to 71d. One or more widgets 71a to 71d may be included in one or more HTML files in data for web content. That is, data for web content according to embodiments may include one or more HTML files including data representing one or more widgets.

위젯들(71a~71c)은 예를 들어 360도 이미지/영상 데이터 위에 오버레이(overlay)되어 렌더링되는 컴포넌트(component)들을 의미한다. The widgets 71a to 71c refer to, for example, components rendered by being overlaid on 360 degree image/video data.

예를 들어, 위젯은 텍스트 데이터(71a)일 수 있다. 또한 예를 들어, 위젯은 이미지 데이터(71b)일 수 있다. 또한 예를 들어, 위젯은 특정 위치를 가리키는 화살표 모양의 아이콘(icon) (71d)일 수 있다.For example, the widget may be text data 71a. Also, for example, the widget may be image data 71b. Also, for example, the widget may be an arrow-shaped icon 71d indicating a specific location.

예를 들어, 위젯은 버튼(button) (71c)이어서 사용자의 클릭 또는 사용자의 상호작용 신호에 기초하여 다른 텍스트, 이미지 또는 위젯으로 변경되는 컴포넌트일 수도 있다. 예를 들어, 도 7을 참조하면, 위젯인 버튼 71c는 사용자의 클릭에 기초하여 새로운 텍스트를 보여주도록 구성될 수 있다.For example, the widget may be a button 71c and thus a component that changes to another text, image, or widget based on a user's click or user's interaction signal. For example, referring to FIG. 7 , a button 71c that is a widget may be configured to show new text based on a user's click.

XML 데이터는 예를 들어, 상술한 하나 또는 그 이상의 HTML 파일들이 상술한 웹 컨텐츠(70)에 매핑(mapping)되는 시간을 나타내는 정보를 포함할 수 있다. 또한, XML 데이터는 시간을 나타내는 정보에 기초하여 웹 컨텐츠(70)에 매핑되는 위치를 나타내는 정보를 더 포함할 수 있다.The XML data may include, for example, information indicating a time at which one or more of the above-described HTML files are mapped to the above-described web content 70 . In addition, the XML data may further include information indicating a location mapped to the web content 70 based on information indicating time.

예를 들어, XML 데이터는 제1 HTML 파일에 포함된 사람 모양의 위젯(71b)을 제1 시간에, 제1 위치에 매핑할 것을 시그널링할 수 있다. 여기서 XML 데이터는 제1 시간을 나타내는 정보와 제1 위치를 나타내는 정보를 더 포함할 수 있다. 제1 위치를 나타내는 정보는 VR 환경에서 나타나는 위치일 수 있다. 따라서 제1 위치를 나타내는 정보는 구면(sphere surface) 상의 아지무스(azimuth) 및/또는 엘리베이션(elevation) 값에 의해 표현될 수 있다.For example, the XML data may signal to map the human-shaped widget 71b included in the first HTML file to the first location at the first time. Here, the XML data may further include information indicating the first time and information indicating the first location. The information indicating the first location may be a location appearing in a VR environment. Accordingly, information indicating the first position may be expressed by an azimuth and/or an elevation value on a sphere surface.

즉, 웹 컨텐츠를 위한 데이터는 하나 또는 그 이상의 위젯(widget)들을 포함할 수 있고, 상기 하나 또는 그 이상의 위젯들은 상기 XML 데이터에 의해 상기 360도 영상 데이터에 매핑(mapping)될 수 있다. 또한, XML 데이터는 상기 XML 데이터에 의해 매핑되는 적어도 하나의 위젯의 상기 360도 영상 데이터 내의 위치를 나타내는 위치 정보를 더 포함할 수 있다. 여기서 위치 정보는 구면 상의 상기 적어도 하나의 위젯의 최좌측의 위치를 나타내는 제1 아지무스 정보, 상기 적어도 하나의 위젯의 최우측의 위치를 나타내는 제2 아지무스 정보, 상기 적어도 하나의 위젯의 최상측의 위치를 나타내는 제1 엘리베이션 정보, 및 상기 적어도 하나의 위젯의 최하측의 위치를 나타내는 제2 엘리베이션 정보를 포함할 수 있다.That is, data for web content may include one or more widgets, and the one or more widgets may be mapped to the 360-degree image data by the XML data. In addition, the XML data may further include location information indicating a location in the 360 degree image data of at least one widget mapped by the XML data. Here, the location information includes first azimus information indicating a leftmost position of the at least one widget on a sphere, second azimus information indicating a rightmost position of the at least one widget, and an uppermost side of the at least one widget. It may include first elevation information indicating the position of , and second elevation information indicating the lowest position of the at least one widget.

도 8은 실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠에서 위젯(widget)의 위치를 나타내는 방법을 나타낸다.8 illustrates a method of indicating a location of a widget in web content for a 360-degree multimedia device according to embodiments.

도 8은 실시예들에 따른 위젯들이, 사용자의 디바이스 장치 (VR 환경)에서 나타나기 위한 위치를 시그널링하는 방법을 나타낸다. 위젯들의 위치를 나타내는 정보는 도 8에 나타난 바와 같이 2가지 방법으로 나타날 수 있다. 위젯들의 위치를 나타내는 정보는 도 7에서 설명한 위치 정보를 의미할 수 있으며, XML 데이터에 포함되어 각 위젯에 대한 위치 정보 등이 시그널링될 수 있다.8 illustrates a method for widgets to signal a location to appear in a user's device apparatus (VR environment) according to embodiments; Information indicating the positions of widgets may be displayed in two ways as shown in FIG. 8 . The information indicating the location of the widgets may refer to the location information described with reference to FIG. 7 , and may be included in XML data to signal location information for each widget.

실시예들에 따른 XML 데이터는, HTML 파일에 의해 제공되는 하나 또는 그 이상의 위젯(widget)들 (80A, 80B)을 구면 상에 표현하는 방법을 제공한다. XML 데이터는 위젯(widget) (80A, 80B)이 구면 상에 표현되는 방식을 나타내는 모드 정보(mode information), 위젯(widget) (80A, 80B)의 최-좌측 위치를 나타내는 좌측_아지무스 정보(Azimuth_left information), 위젯(widget) (80A, 80B)의 최-우측 위치를 나타내는 우측_아지무스 정보(Azimuth_right information), 위젯(widget) (80A, 80B)의 최-상단 위치를 나타내는 최상단_엘리베이션 정보(Elevation_top information), 위젯(widget) (80A, 80B)의 최-하단 위치를 나타내는 최하단_엘리베이션 정보(Elevation_bottom information), 위젯(widget) (80A, 80B)의 방향성 여부를 나타내는 오리엔테이션 정보(orientation information), 위젯(widget) (80A, 80B)이 화살표(arrow)인 경우 화살표가 가리키는 방향을 나타내는 정보, 위젯(widget) (80A, 80B)이 구면 상에서 회전(rotation)되어 표현되는 정도를 나타내는 정보를 더 포함할 수 있다.XML data according to embodiments provides a method of representing one or more widgets 80A and 80B provided by an HTML file on a sphere. The XML data includes mode information indicating how the widgets 80A, 80B are represented on a sphere, and left_azimus information indicating the leftmost position of the widgets 80A, 80B ( Azimuth_left information), right_azimuth information indicating the right-most position of the widgets (80A, 80B), and uppermost_elevation information indicating the uppermost position of the widgets (80A, 80B) (Elevation_top information), the bottom_elevation information indicating the lowest-bottom position of the widgets (80A, 80B), the widget (widget) (80A, 80B) orientation information indicating whether the orientation information (orientation information) , When the widgets (80A, 80B) are arrows, information indicating the direction the arrow points, and information indicating the degree to which the widgets (80A, 80B) are rotated on a spherical surface are further added may include

도 8(A)는 제1 모드에 따라 위젯(widget, 80A)을 구면 상에 표현한 것이다. 도 8(A)는 XML 데이터의 모드 정보(mode information)가 제1 모드임을 나타낸 경우를 나타낸다. 제1 모드는 두 개의 수평(horizontal)으로 평행한 원들과 두 개의 수직(vertical)으로 평행한 원들에 의해 만들어진 영역(80A)에 위젯이 위치하도록 구성된다. 두 개의 수평으로 평행한 원은, 엘리베이션(elevation) 값만 다르고, 평행한 구면 상의 원을 의미할 수 있고, 두 개의 수직으로 평행한 원은, 아지무스(azimuth) 값만 다르고, 평행한 구면 상의 원을 의미할 수 있다.FIG. 8(A) shows a widget 80A expressed on a spherical surface according to the first mode. FIG. 8(A) shows a case in which mode information of XML data is a first mode. The first mode is configured such that the widget is positioned in an area 80A formed by two horizontally parallel circles and two vertically parallel circles. Two horizontally parallel circles have different elevation values and may mean circles on a parallel sphere, and two vertically parallel circles have different azimuth values and represent a circle on a parallel sphere. can mean

도 8(B)는 제2 모드에 따라 위젯(widget, 80B)을 구면 상에 표현한 것이다. 도 8(B)는 XML 데이터의 모드 정보(mode information)가 제2 모드임을 나타낸 경우를 나타낸다. 제2 모드는 네 개의 큰 원들에 의해 만들어진 영역(80B)에 위젯이 위치하도록 구성된다. 네 개의 큰 원은, 구면(sphere surface) 및 원점(center point)을 지나는 평면(plane)이 만나서 생성된 큰 원들로 구성된다. 네 개의 큰 원은 수직으로 평행한 두 개의 아지무스 큰 원들 및/또는 두 개의 수평으로 평행한 엘리베이션 큰 원들을 포함할 수 있다.FIG. 8(B) shows a widget 80B expressed on a spherical surface according to the second mode. FIG. 8B shows a case in which mode information of XML data is the second mode. The second mode is configured such that the widget is positioned in an area 80B created by four large circles. The four large circles are composed of large circles created by the intersection of a sphere surface and a plane passing through the center point. The four large circles may include two vertically parallel azimuth large circles and/or two horizontally parallel elevation large circles.

도 9는 실시예들에 따른 웹 컨텐츠의 구조를 나타낸다.9 illustrates a structure of web content according to embodiments.

구체적으로 도 9은 실시예들에 따른 상호작용이 가능한 웹 컨텐츠의 데이터 구조를 나타낸다. 도 9에 나타난 실시예들에 따른 상호작용이 가능한 웹 컨텐츠는 도 1의 생성 장치(100)에서 생성될 수 있다. 실시예들에 따른 상호작용이 가능한 웹 컨텐츠는 도 2 및 도 4에 나타난 실시예들에 따른 상호작용이 가능한 웹 컨텐츠를 의미한다. Specifically, FIG. 9 shows a data structure of interactive web content according to embodiments. The interactive web content according to the embodiments shown in FIG. 9 may be generated by the generating device 100 of FIG. 1 . The interactive web content according to the embodiments means interactive web content according to the embodiments shown in FIGS. 2 and 4 .

실시예들에 따른 상호작용이 가능한 웹 컨텐츠는 웹 브라우저(web browser)에서 구동될 수 있다. 따라서 실시예들에 따른 상호작용이 가능한 웹 컨텐츠는 웹 컨텐츠를 구동하기 위한 프론트앤드(front-end) 파일들 및/또는 백앤드(back-end) 파일들을 포함할 수 있다. 프론트앤드(front-end) 파일들은 웹 컨텐츠가 사용자에게 제공될 때 웹 컨텐츠의 외형을 구성하는 데이터를 포함하는 파일들을 의미한다. 백앤드(back-end) 파일들은 웹 컨텐츠가 사용자에게 제공될 때 웹 컨텐츠의 복수의 HTML 파일들이 영상 데이터에 결합되는 구성을 나타내기 위한 데이터이다.The interactive web content according to the embodiments may be driven in a web browser. Accordingly, the interactive web content according to the embodiments may include front-end files and/or back-end files for driving the web content. Front-end files refer to files including data constituting the appearance of web content when web content is provided to a user. Back-end files are data for representing a configuration in which a plurality of HTML files of web content are combined with image data when web content is provided to a user.

백앤드 파일들은 예를 들어, 웹 컨텐츠 내의 영상 데이터와 복수의 HTML 소스들(HTML 파일들)을 연결하기 위한 XML(eXtensible Markup Language) 파일을 포함할 수 있다.The backend files may include, for example, an XML (eXtensible Markup Language) file for linking image data in web content and a plurality of HTML sources (HTML files).

나아가 백앤드 파일들은 실시예들에 따른 XML(eXtensible Markup Language) 파일을 웹 컨텐츠가 해석 및/또는 파싱(parsing)하기 위한 DTD(Document Type Definition) 파일을 더 포함할 수 있다.Furthermore, the backend files may further include a Document Type Definition (DTD) file for web content to interpret and/or parse an XML (eXtensible Markup Language) file according to embodiments.

프론트앤드 파일들은 예를 들어, 웹 컨텐츠를 구성하는 HTML5 파일, CSS 파일, 자바스크립트(JavaScript) 파일을 포함할 수 있다. The front-end files may include, for example, an HTML5 file, a CSS file, and a JavaScript file constituting web content.

XML(eXtensible Markup Language) 파일은 예를 들어, 아래와 같은 신텍스로 구성될 수 있다.The XML (eXtensible Markup Language) file may be composed of, for example, the following syntax.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="./slide_info.xsl"?>
<!DOCTYPE data SYSTEM "./slide_info.dtd">
<data>
<!―View의 구성 정보를 나타내는 부분일 수 있다 -->
<options name="Player Option">
<type>mix</type> <!-- video(전체 영상형)| mix(혼합형)| sound(음성형)-->
<setting>
<contents> <!--영상 데이터가 재생되는 영역-->
<width>1008</width>
<height>515</height>
</contents>
<player> <!-- 플레이어 위치 및 크기(px) -->
<azimuth1>0</azimuth1>
<elevation1>480</elevation1>
<azimuth2>1008</azimuth2>
<elevation2>35</elevation2>
</player>
<video> <!-- 비디오 -->
<pos> <!-- 위치 및 크기(px) -->
<mode>1</mode>
<azimuth1>648</azimuth1>
<elevation1>0</elevation1>
<azimuth2>360</azimuth2>
<elevation2>480</elevation2>
</pos>
<fileinfo> <!-- 파일정보 -->
<path>../user/media/mp4/</path>
<filename>03_1</filename>
<extension>mp4</extension>
</fileinfo>
</video>
<slide> <!-- 슬라이드 Sync -->
<pos> <!-- 위치 및 크기(px) -->
<mode>2</mode>
<azimuth1>0</azimuth1>
<elevation1>0</elevation1>
<azimuth2>70</azimuth2>
<elevation2>70</elevation2>
</pos>
<fileinfo> <!-- 파일정보 -->
<timeunit>sec</timeunit>
<!-- sec or ms -->
<path>../user/sink/03_s/</path>
<extension>html</extension>
</fileinfo>
</slide>
</setting>
<functions>
<sink>true</sink> <!-- sink슬라이드 show ↔ -->
<volume>true</volume>
<!-- volume요소 show ↔ hide -->
<seek>true</seek>
<!-- progressbar seek가능 show ↔ hide -->
<playbackrate>true</playbackrate>
<!―배속 조절 show ↔ hide -->
</functions>
</options> <!-- 개별 Sync슬라이드들 정보 -->
<slides name="Sync Slide List"> <!-- Sync 슬라이드들의 공통 경로 -->
<slide time="0" file="03_tab01"/>
<!-- 개별 Sync 슬라이드들 정보|@time: 싱크 시간, @file: 공통 경로와 확장자를 제외한 파일명-->
<slide time="4" file="03_tab02">
<mode>1</mode>
<azimuth1>30</azimuth1>
<elevation1>20</elevation1>
<azimuth2>50</azimuth2>
<elevation2>40</elevation2>
</slide>
<slide time="492" file="03_tab03">
<mode>1</mode>
<azimuth1>-10</azimuth1>
<elevation1>-30</elevation1>
<azimuth2>10</azimuth2>
<elevation2>30</elevation2>
</slide>
<slide time="623" file="03_tab04">
<mode>2</mode>
<rotation>30</rotation>
<azimuth1>-50</azimuth1>
<elevation1>-40</elevation1>
<azimuth2>10</azimuth2>
<elevation2>0</elevation2>
</slide>
<slide time="805" file="03_tab05"/>
<arrowpos>30 40</arrowpos>
<arrowvector>1 -1</arrowvector>
<mode>2</mode>
<azimuth1>0</azimuth1>
<elevation1>0</elevation1>
<azimuth2>20</azimuth2>
<elevation2>20</elevation2>
</slide>
<slide time="990" file="03_tab06"/>
... ...
<slide time="2190" file="03_tab18"/>
</slides>
</data>
<?xml version="1.0"encoding="UTF-8"standalone="no"?>
<?xml-stylesheettype="text/xsl"href="./slide_info.xsl"?>
<!DOCTYPE data SYSTEM "./slide_info.dtd">
<data>
<!―It may be a part of the view configuration information -->
<options name="Player Option">
<type>mix</type><!-- video(full video type)| mix| sound (voice type)-->
<setting>
<contents><!--Area where video data is played-->
<width>1008</width>
<height>515</height>
</contents>
<player><!-- player position and size (px) -->
<azimuth1>0</azimuth1>
<elevation1>480</elevation1>
<azimuth2>1008</azimuth2>
<elevation2>35</elevation2>
</player>
<video><!-- video -->
<pos><!-- Position and size (px) -->
<mode>1</mode>
<azimuth1>648</azimuth1>
<elevation1>0</elevation1>
<azimuth2>360</azimuth2>
<elevation2>480</elevation2>
</pos>
<fileinfo><!-- File information -->
<path>../user/media/mp4/</path>
<filename>03_1</filename>
<extension>mp4</extension>
</fileinfo>
</video>
<slide><!-- Slide Sync -->
<pos><!-- Position and size (px) -->
<mode>2</mode>
<azimuth1>0</azimuth1>
<elevation1>0</elevation1>
<azimuth2>70</azimuth2>
<elevation2>70</elevation2>
</pos>
<fileinfo><!-- File information -->
<timeunit>sec</timeunit>
<!-- sec or ms -->
<path>../user/sink/03_s/</path>
<extension>html</extension>
</fileinfo>
</slide>
</setting>
<functions>
<sink>true</sink><!-- sink slide show ↔ -->
<volume>true</volume>
<!-- volume element show ↔ hide -->
<seek>true</seek>
<!-- progressbar seek possible show ↔ hide -->
<playbackrate>true</playbackrate>
<!―Adjust double speed show ↔ hide -->
</functions>
</options><!-- Individual Sync slides information -->
<slides name="Sync Slide List"><!-- Common path for Sync slides -->
<slide time="0"file="03_tab01"/>
<!-- Information on individual sync slides|@time: sync time, @file: file name excluding common path and extension-->
<slide time="4"file="03_tab02">
<mode>1</mode>
<azimuth1>30</azimuth1>
<elevation1>20</elevation1>
<azimuth2>50</azimuth2>
<elevation2>40</elevation2>
</slide>
<slidetime="492"file="03_tab03">
<mode>1</mode>
<azimuth1>-10</azimuth1>
<elevation1>-30</elevation1>
<azimuth2>10</azimuth2>
<elevation2>30</elevation2>
</slide>
<slidetime="623"file="03_tab04">
<mode>2</mode>
<rotation>30</rotation>
<azimuth1>-50</azimuth1>
<elevation1>-40</elevation1>
<azimuth2>10</azimuth2>
<elevation2>0</elevation2>
</slide>
<slidetime="805"file="03_tab05"/>
<arrowpos>3040</arrowpos>
<arrowvector>1-1</arrowvector>
<mode>2</mode>
<azimuth1>0</azimuth1>
<elevation1>0</elevation1>
<azimuth2>20</azimuth2>
<elevation2>20</elevation2>
</slide>
<slidetime="990"file="03_tab06"/>
... ...
<slide time="2190"file="03_tab18"/>
</slides>
</data>

상술한 바와 같이, XML 파일은 실시예들에 따른 웹 컨텐츠가 혼합형인지, 전체 영상형인지, 음성형인지 여부를 나타내기 위한 <type> 태그를 포함할 수 있다. 예를 들어, <type> 태그 내의 내용이 video이면 전체 영상형, mix이면 혼합형, sound이면 음성형임을 나타낼 수 있다.As described above, the XML file may include a <type> tag for indicating whether the web content according to the embodiments is a mixed type, a full image type, or an audio type. For example, if the content in the <type> tag is video, it may indicate that it is a full video type, if it is mix, it is a mixed type, and if it is a sound, it may indicate that it is a voice type.

<contents> 태그는 실시예들에 따른 영상 데이터와 복수의 HTML 소스들이 웹 컨텐츠 내에서 재생되는 영역을 나타낸다. <contents> 태그 내의 <width>는 해당 영상 데이터의 폭(width) 정보를, <height> 태그는 해당 영상 데이터의 높이(height) 정보를 나타낸다. <player> 태그는 실시예들에 따른 웹 컨텐츠의 조작부의 영역의 위치 및/또는 크기를 나타낸다.The <contents> tag indicates an area in which image data and a plurality of HTML sources according to embodiments are reproduced in web content. <width> in the <contents> tag indicates width information of the corresponding image data, and <height> tag indicates height information of the corresponding image data. The <player> tag indicates the location and/or size of the area of the manipulation unit of the web content according to the embodiments.

<video> 태그는 실시예들에 따른 영상 데이터가 웹 컨텐츠 내에서 재생되는 영역을 나타낸다. <video> 태그 내 <pos>는 영상 데이터가 재생되는 웹 컨텐츠 내 위치(position)을 나타낸다. <video> 태그 내 <fileinfo>는 영상 데이터를 나타내는 영상 파일에 대한 정보를 나타낸다. <path> 태그는 영상 파일의 경로를, <filename>은 영상 파일의 이름을, <extension>는 영상 데이터의 확장자 정보를 나타낸다. The <video> tag indicates an area in which image data according to embodiments is reproduced in web content. <pos> in the <video> tag indicates a position in the web content where the image data is reproduced. <fileinfo> in the <video> tag indicates information about an image file representing image data. The <path> tag indicates the path of the image file, <filename> indicates the name of the image file, and <extension> indicates the extension information of the image data.

<slide> 태그는 예를 들어, 실시예들에 따른 영상 데이터와 결합되는 HTML 소스들(HTML 파일들)에 대한 정보를 나타낸다. <pos>는 HTML 영상 데이터와 결합되는 HTML 파일이 적용되는 웹 컨텐츠 내 위치(position)을 나타낸다. <video> 태그 내 <fileinfo>는 HTML 파일에 대한 정보를 나타낸다. <path> 태그는 HTML 파일의 경로를, <filename>은 HTML 파일의 이름을, <extension>는 HTML 파일의 확장자 정보를 나타낸다. The <slide> tag indicates, for example, information about HTML sources (HTML files) combined with image data according to embodiments. <pos> indicates a position in web content to which an HTML file combined with HTML image data is applied. <fileinfo> in the <video> tag indicates information about the HTML file. The <path> tag indicates the path of the HTML file, <filename> indicates the name of the HTML file, and <extension> indicates the extension information of the HTML file.

<mode> 태그는 예를 들어, 실시예들에 따른 영상 데이터와 결합되는 HTML 소스들(HTML 파일들)에 의해 나타난 위젯(Widget)을 VR 환경의 구면 상에서 표현하는 방식을 나타내는 모드 정보이다. 모드 정보는 도 8에서 설명한 바와 같은 모드 정보를 의미할 수 있다.The <mode> tag is, for example, mode information indicating a method of expressing a widget represented by HTML sources (HTML files) combined with image data according to embodiments on a sphere of a VR environment. The mode information may mean the mode information as described with reference to FIG. 8 .

<azimuth1> 태그는 도 8에서 설명한 위젯(widget) (80A, 80B)의 최-좌측 위치를 나타내는 좌측_아지무스 정보(Azimuth_left information)를 의미할 수 있다.The <azimuth1> tag may mean Azimuth_left information indicating the leftmost position of the widgets 80A and 80B described with reference to FIG. 8 .

<azimuth2> 태그는 도 8에서 설명한 위젯(widget) (80A, 80B)의 최-우측 위치를 나타내는 우측_아지무스 정보(Azimuth_right information)를 의미할 수 있다.The <azimuth2> tag may mean Azimuth_right information indicating the right-most positions of the widgets 80A and 80B described with reference to FIG. 8 .

<elevation1> 태그는 도 8에서 설명한 위젯(widget) (80A, 80B)의 최-상단 위치를 나타내는 최상단_엘리베이션 정보(Elevation_top information)를 의미할 수 있다.The <elevation1> tag may mean Elevation_top information indicating the uppermost position of the widgets 80A and 80B described with reference to FIG. 8 .

<elevation2> 태그는 도 8에서 설명한 위젯(widget) (80A, 80B)의 최-하단 위치를 나타내는 최하단_엘리베이션 정보(Elevation_bottom information)를 의미할 수 있다.The <elevation2> tag may mean the lowest_elevation_bottom information indicating the lowest-bottom positions of the widgets 80A and 80B described with reference to FIG. 8 .

<arrowpos> 태그는 위젯(widget)이 화살표(arrow)인 경우, 화살표의 위치를 나타내는 정보이다.The <arrowpos> tag is information indicating the position of the arrow when the widget is an arrow.

<arrowvector> 태그는 도 8에서 설명한 위젯(widget) (80A, 80B)이 화살표(arrow)인 경우 화살표가 가리키는 방향을 나타내는 정보일 수 있다.The <arrowvector> tag may be information indicating a direction indicated by an arrow when the widgets 80A and 80B described in FIG. 8 are arrows.

<rotation> 태그는 도 8에서 설명한 위젯(widget) (80A, 80B)이 회전되는 정도를 나타내는 정보이다.The <rotation> tag is information indicating the degree to which the widgets 80A and 80B described with reference to FIG. 8 are rotated.

실시예들에 따른 XML 파일은, 특정 HTML 파일을 적용함으로써 웹 컨텐츠에 표시(show)될지 또는 웹 컨텐츠에 숨겨질(hide)지 여부를 나타내기 위한 <sink> 태그를 더 포함할 수 있다.The XML file according to the embodiments may further include a <sink> tag for indicating whether to be displayed in the web content or to be hidden in the web content by applying a specific HTML file.

실시예들에 따른 XML 파일은, 특정 영상 데이터의 음량(volume)을 조절 또는 키거나 끌지 여부를 제어하기 위한 <volume> 태그를 더 포함할 수 있다.The XML file according to embodiments may further include a <volume> tag for controlling whether to adjust, turn on, or turn off the volume of specific image data.

실시예들에 따른 XML 파일은, 웹 컨텐츠의 특정 시간을 재생하도록 제어하기 위한 프로그래스 바(progress bar)를 보여주거나 숨길지 여부를 결정하기 위한 <seek> 태그를 더 포함할 수 있다.The XML file according to embodiments may further include a <seek> tag for determining whether to show or hide a progress bar for controlling to play a specific time of web content.

<slides> 엘리먼트는 실시예들에 따른 HTML 파일들이 영상 데이터에 결합되는 시간을 나타내기 위한 정보이다.The <slides> element is information for indicating a time when HTML files according to embodiments are combined with image data.

실시예들에 따른 상호작용이 가능한 웹 컨텐츠의 생성 장치는 사용자의 단말 장치로부터 영상 데이터, 하나 또는 그 이상의 HTML (HyperText Markup Language) 파일들 및 각 HTML 파일에 대응하는 시간 정보를 수신할 수 있다.An apparatus for generating interactive web content according to embodiments may receive image data, one or more HyperText Markup Language (HTML) files, and time information corresponding to each HTML file from a user's terminal device.

실시예들에 따른 상호작용이 가능한 웹 컨텐츠의 생성 장치는 웹 컨텐츠를 생성할 수 있다. 예를 들어, 생성 장치는, 수신한 각 HTML 파일에 대응하는 시간 정보와 하나 또는 그 이상의 HTML 파일들을 매핑(mapping)하고, 이들을 XML 파일의 <slides> 엘리먼트의 하위 태그들에 추가할 수 있다. An apparatus for generating interactive web content according to embodiments may generate web content. For example, the generating device may map one or more HTML files with time information corresponding to each received HTML file, and add them to sub-tags of a <slides> element of the XML file.

이러한 구성으로 인해, 웹 컨텐츠는 자바스크립트 소스에 기초하여 상기 영상 데이터를 재생하도록 구성될 수 있고, 자바스크립트 소스에 기초하여, 현재 재생 시간 정보를 추출함으로써 각 시간 정보에 대응하는 HTML 파일을 구동하도록 구성될 수 있다.Due to this configuration, the web content may be configured to reproduce the image data based on a JavaScript source, and based on the JavaScript source, to drive an HTML file corresponding to each time information by extracting the current playback time information can be configured.

예를 들어, 상술한 XML 파일에 따르면, 웹 컨텐츠는 시간이 1348인 경우 03_tab08.html의 파일을 불러오고 이를 실행하도록 구성된다.For example, according to the XML file described above, the web content is configured to load and execute the file 03_tab08.html when the time is 1348.

실시예들에 따른 웹 컨텐츠는 상술한 XML 파일을 파싱하는데 사용되는 DTD (Document Type Definition) 데이터를 더 포함할 수 있다. 상술한 XML 파일에서는 예를 들어, <!DOCTYPE data SYSTEM "./slide_info.dtd"> 태그로, DTD 파일을 slide_info.dtd로 참조한다.The web content according to the embodiments may further include DTD (Document Type Definition) data used to parse the above-described XML file. In the above-described XML file, for example, the <!DOCTYPE data SYSTEM "./slide_info.dtd"> tag is used and the DTD file is referred to as slide_info.dtd.

HTML5 파일(메인 HTML 파일) 및 CSS 파일(81a)은 웹 컨텐츠의 외형을 나타내기 위한 HTML 소스로 이루어진 파일을 의미한다. HTML5 파일은 자바스크립트(JavaScript) 파일(81b)을 참조(reference)할 수 있다. The HTML5 file (the main HTML file) and the CSS file 81a refer to files composed of an HTML source for displaying the appearance of web content. The HTML5 file may refer to a JavaScript file 81b.

자바스크립트(JavaScript) 파일(81b)은 웹 컨텐츠의 현재 재생 시간(current time)을 추출하기 위한 소스 코드를 포함할 수 있다. 즉, 웹 컨텐츠는 자바스크립트 소스에 기초하여 실시예들에 따른 영상 데이터를 재생하도록 구성될 수 있고, 자바스크립트 소스에 기초하여 웹 컨텐츠의 현재 재생 시간 정보를 추출함으로써 각 시간 정보에 대응하는 HTML 파일을 구동하도록 구성될 수 있다. 자바스크립트(JavaScript) 파일(81b)은 별도의 파일로 구성되지 않고, HTML 내에서 <script> 태그에 의해 내장될 수도 있다.The JavaScript file 81b may include a source code for extracting a current playback time of web content. That is, the web content may be configured to reproduce image data according to embodiments based on a JavaScript source, and an HTML file corresponding to each time information by extracting current playback time information of the web content based on the JavaScript source may be configured to drive The JavaScript file 81b is not configured as a separate file, and may be embedded by a <script> tag in HTML.

자바스크립트(JavaScript) 파일(81b)은 다음과 같이 구성될 수 있다.The JavaScript file 81b may be configured as follows.

1 $(document).ready(function(){
2 var video = $('video');
3 var thisSecond = -1;
4 video.on('timeupdate', function(){
5 video.fadeIn("slow");
6 var currentPos = parseInt(video[0].currentTime);
7 if(thisSecond!=currentPos){
8 setTab(currentPos);
9 setList(currentPos);
10 }
11 thisSecond = currentPos;
12 });
13 var tabNums = [0, 1, 489, 620, 802, 987, 1183, 1345, 1471, 1574, 1768, 1876, 1930, 1994, 2048, 2108, 2155, 2187];
14 var seq = [0, 0];
15 var seq1 = [tabNums[1]];
16 var seq2 = [tabNums[2], tabNums[2]+1, tabNums[2]+2,tabNums[2]+3,tabNums[2]+4,tabNums[2]+5];
17 var seq3 = [tabNums[3], tabNums[3]+1, tabNums[3]+2,tabNums[3]+3];
18 var seq4 = [tabNums[4], tabNums[4]+1, tabNums[4]+2,tabNums[4]+3,tabNums[4]+4,tabNums[4]+5,tabNums[4]+6];
...
})
1 $(document).ready(function(){
2 var video = $('video');
3 var thisSecond = -1;
4 video.on('timeupdate', function(){
5 video.fadeIn("slow");
6 var currentPos = parseInt(video[0].currentTime);
7 if(thisSecond!=currentPos){
8 setTab(currentPos);
9 setList(currentPos);
10 }
11 thisSecond = currentPos;
12 });
13 var tabNums = [0, 1, 489, 620, 802, 987, 1183, 1345, 1471, 1574, 1768, 1876, 1930, 1994, 2048, 2108, 2155, 2187];
14 var seq = [0, 0];
15 var seq1 = [tabNums[1]];
16 var seq2 = [tabNums[2], tabNums[2]+1, tabNums[2]+2,tabNums[2]+3,tabNums[2]+4,tabNums[2]+5];
17 var seq3 = [tabNums[3], tabNums[3]+1, tabNums[3]+2,tabNums[3]+3];
18 var seq4 = [tabNums[4], tabNums[4]+1, tabNums[4]+2,tabNums[4]+3,tabNums[4]+4,tabNums[4]+5,tabNums[4]+ 6];
...
})

상술한 자바스크립트 소스를 참조하면, 웹 컨텐츠는 상술한 자바스크립트 소스에 기초하여, 현재 시간 정보를 추출(Line 4 내지 12)할 수 있고, 추출된 시간 정보에 기초하여 각 시간 정보에 대응하는 HTML 파일을 구동할 수 있다. 웹 컨텐츠는 각 시간 정보에 대응하는 HTML 파일을 구동하도록 HTML 파일들의 구동 시간을 설정(Line 13 내지 18 등)할 수 있다.Referring to the above-described JavaScript source, web content may extract current time information (Lines 4 to 12) based on the above-described JavaScript source, and HTML corresponding to each time information based on the extracted time information You can run the file. The web content may set the driving time of the HTML files (Lines 13 to 18, etc.) to drive the HTML file corresponding to each time information.

실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법 및 그 장치 HTML5을 이용함으로써 모바일, PC 등 범용적인 사용자의 단말 장치에서 사용자와 상호작용이 가능한 웹 컨텐츠를 생성할 수 있다.Method for receiving web content for a 360-degree multimedia device according to embodiments and using the device HTML5 may generate web content that can interact with a user in a general-purpose user terminal device such as a mobile device or a PC.

실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법 및 그 장치 영상 데이터에 HTML5를 결합함으로써 사용자와 상호작용이 가능한 웹 컨텐츠를 제공할 수 있다.A method for receiving web content for a 360-degree multimedia device according to embodiments and combining HTML5 with image data of the device may provide web content that can interact with a user.

실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법 및 그 장치는 영상 데이터에 HTML5를 결합함으로써 사용자의 단말 장치가 별도의 프로그램 등의 설치 없이 웹 브라우저만을 이용하여 적은 메모리의 양으로도 웹 컨텐츠를 소비할 수 있다.A method and apparatus for receiving web content for a 360-degree multimedia device according to embodiments, by combining HTML5 with image data, allows the user's terminal device to use only a web browser without installing a separate program, using only a web browser with a small amount of memory. You can consume content.

도 10은 실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법을 나타내는 흐름도이다.10 is a flowchart illustrating a method for receiving web content for a 360-degree multimedia device according to embodiments.

실시예들에 따른 360도 멀티미디어 디바이스를 위한 웹 컨텐츠 수신 방법은 웹 컨텐츠를 위한 데이터를 수신하는 단계(S1000), 웹 컨텐츠를 위한 데이터를 파싱하는 단계(S1001), 웹 컨텐츠를 사용자의 뷰포트(viewport)의 위치에 기반하여 렌더링하는 단계(S1002), 웹 컨텐츠를 디스플레이(S1003)하는 단계를 더 포함할 수 있다.A method for receiving web content for a 360-degree multimedia device according to embodiments includes receiving data for web content (S1000), parsing data for web content (S1001), and viewing the web content in a user's viewport ) based on the location of the rendering step (S1002), may further include the step of displaying the web content (S1003).

S1000 단계는 실시예들에 따른 360도 멀티미디어 디바이스가 웹 컨텐츠를 위한 데이터를 수신하는 단계이다. 여기서, 웹 컨텐츠를 위한 데이터는 360도 영상 데이터, 하나 또는 그 이상의 HTML 파일들, 각 HTML 파일에 대응하는 상기 시간 정보를 나타내는 XML(eXtensible Markup Language) 데이터, 및 상기 XML 데이터를 파싱(parsing)하기 위한 자바스크립트(JavaScript) 소스를 포함하는 데이터를 포함할 수 있다.Step S1000 is a step in which the 360-degree multimedia device according to the embodiments receives data for web content. Here, the data for the web content includes 360 degree image data, one or more HTML files, XML (eXtensible Markup Language) data indicating the time information corresponding to each HTML file, and parsing the XML data. It may include data including a JavaScript source for

실시예들에 따른 웹 컨텐츠는 상기 자바스크립트 소스에 기초하여 상기 360도 영상 데이터를 재생하도록 구성된다. 웹 컨텐츠는 상기 자바스크립트 소스에 기초하여, 현재 시간 정보를 추출함으로써 각 시간 정보에 대응하는 HTML 파일을 구동하도록 구성될 수 있고, 웹 컨텐츠는 상기 XML 데이터를 파싱하는데 사용되는 DTD (Document Type Definition) 데이터를 더 포함할 수 있다.Web content according to embodiments is configured to reproduce the 360-degree image data based on the JavaScript source. The web content may be configured to drive an HTML file corresponding to each time information by extracting current time information based on the JavaScript source, and the web content is a DTD (Document Type Definition) used to parse the XML data. It may contain more data.

실시예들에 따른 하나 또는 그 이상의 HTML 파일들은 하나 또는 그 이상의 위젯(widget)들을 포함할 수 있고, 하나 또는 그 이상의 위젯들은 상기 XML 데이터에 의해 상기 360도 영상 데이터에 매핑(mapping)될 수 있다. 실시예들에 따른 XML 데이터는 상기 XML 데이터에 의해 매핑되는 적어도 하나의 위젯의 상기 360도 영상 데이터 내의 위치를 나타내는 위치 정보를 더 포함할 수 있다.One or more HTML files according to embodiments may include one or more widgets, and one or more widgets may be mapped to the 360-degree image data by the XML data. . XML data according to embodiments may further include location information indicating a location in the 360-degree image data of at least one widget mapped by the XML data.

실시예들에 따른 위치 정보는 구면 상의 상기 적어도 하나의 위젯의 최좌측의 위치를 나타내는 제1 아지무스 정보, 상기 적어도 하나의 위젯의 최우측의 위치를 나타내는 제2 아지무스 정보, 상기 적어도 하나의 위젯의 최상측의 위치를 나타내는 제1 엘리베이션 정보, 상기 적어도 하나의 위젯의 최하측의 위치를 나타내는 제2 엘리베이션 정보, 상기 각 HTML 파일은 상기 적어도 하나의 위젯의 회전(rotation)의 정도를 나타내는 회전 정보를 포함할 수 있다.The location information according to the embodiments includes first azimus information indicating the leftmost position of the at least one widget on a sphere, second azimus information indicating the rightmost position of the at least one widget, and the at least one The first elevation information indicating the uppermost position of the widget, the second elevation information indicating the lowermost position of the at least one widget, and each of the HTML files, the rotation indicating the degree of rotation of the at least one widget may contain information.

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer-readable medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software.

컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of computer-readable media may include hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions may include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as at least one software module to perform the operations of the present invention, and vice versa.

또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다. In addition, the above-described method or apparatus may be implemented by combining all or part of its configuration or function, or may be implemented separately.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to preferred embodiments of the present invention, those skilled in the art can variously modify and change the present invention within the scope without departing from the spirit and scope of the present invention as set forth in the claims below. You will understand that it can be done.

Claims (5)

영상 데이터, 하나 이상의 HTML (HyperText Markup Language) 파일들 및 각 HTML 파일에 대응하는 시간 정보를 수신하는 수신부;
웹 컨텐츠를 생성하는 웹 컨텐츠 생성부;
상기 생성된 웹 컨텐츠를 사용자의 단말 장치에게 전송하는 전송부; 및
디스플레이부(displayer); 를 포함하고,
상기 웹 컨텐츠는:
1) 상기 하나 이상의 HTML 파일들 및 각 HTML 파일에 대응하는 상기 시간 정보를 나타내는 XML(eXtensible Markup Language) 데이터, 및 상기 XML 데이터를 파싱(parsing)하기 위한 자바스크립트(JavaScript) 소스를 포함하는 데이터를 포함하 고,
2) HTML에 의해 구동되는 HTML 영역 또는 상기 영상 데이터에 의해 구동되는 영상 영역 중 적어도 어느 하나를 포함하고,
3) 상기 자바스크립트 소스에 기초하여, 상기 영상 영역의 영상 컨텐츠와 상기 HTML 영역이 시간에 따라 동기화되어 표시되도록 구성되고,
4) 상기 사용자로부터 신호를 입력받기 위한 컴포넌트(component)를 포함하고,
5) 상기 사용자로부터 입력 받은 상기 신호 및 상기 자바스크립트 소스에 기초하여 상기 시간 정보에 대응하는 HTML 파일이 구동되도록 구성되되, 상기 사용자로부터 입력 받은 상기 신호가 제1 시간의 웹 콘텐츠에 상응하는 경우 상기 웹 컨텐츠는 상기 제1 시간에 상응하는 HTML 파일들을 구동하고,
상기 웹 컨텐츠는 상기 웹 컨텐츠를 구동하기 위한 프론트앤드(front-end) 파일들 및 백앤드(back-end) 파일들을 포함하고,
상기 백앤드 파일들은 상기 XML 데이터를 파싱하는데 사용되는 DTD(Document Type Definition) 데이터를 더 포함하고,
상기 XML 데이터는:
상기 웹 컨텐츠가, i) 상기 HTML 영역과 상기 영상 영역을 모두 포함하는 혼합형인지, ii) 상기 영상 영역이 상기 웹 컨텐츠의 전체 영역에 상응하는 전체 영상형인지, 또는 iii) 상기 HTML 영역만을 포함하는 음성형인지 여부를 나타내는 <type> 태그; 및
상기 영상 데이터와 복수의 HTML 소스들이 상기 웹 컨텐츠 내에서 재생되는 영역을 나타내는 <contents> 태그; 를 포함하는,
상호작용이 가능한 웹 컨텐츠를 생성하는 장치.
a receiver for receiving image data, one or more HTML (HyperText Markup Language) files, and time information corresponding to each HTML file;
a web content generator for generating web content;
a transmission unit for transmitting the generated web content to a user's terminal device; and
a display unit; including,
The web content is:
1) XML (eXtensible Markup Language) data representing the one or more HTML files and the time information corresponding to each HTML file, and data including a JavaScript source for parsing the XML data including,
2) at least one of an HTML region driven by HTML or an image region driven by the image data,
3) based on the JavaScript source, the video content of the video area and the HTML area are configured to be displayed in synchronization with time;
4) including a component for receiving a signal from the user,
5) is configured to drive an HTML file corresponding to the time information based on the signal and the JavaScript source input from the user, and when the signal input from the user corresponds to the web content of the first time The web content drives the HTML files corresponding to the first time,
The web content includes front-end files and back-end files for driving the web content,
The backend files further include DTD (Document Type Definition) data used to parse the XML data,
The XML data is:
Whether the web content is i) a hybrid type including both the HTML region and the image region, ii) the image region is a full image type corresponding to the entire region of the web content, or iii) includes only the HTML region <type> tag indicating whether it is negative or not; and
a <contents> tag indicating a region in which the image data and a plurality of HTML sources are reproduced in the web content; containing,
A device that creates interactive web content.
삭제delete 삭제delete 삭제delete 삭제delete
KR1020210027528A 2021-03-02 2021-03-02 Method for receiving web contents for 360-degree multimedia device and apparatus for the same KR102314354B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210027528A KR102314354B1 (en) 2021-03-02 2021-03-02 Method for receiving web contents for 360-degree multimedia device and apparatus for the same
KR1020210128916A KR102482201B1 (en) 2021-03-02 2021-09-29 server for providing web content including HTML regions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210027528A KR102314354B1 (en) 2021-03-02 2021-03-02 Method for receiving web contents for 360-degree multimedia device and apparatus for the same

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210128916A Division KR102482201B1 (en) 2021-03-02 2021-09-29 server for providing web content including HTML regions

Publications (1)

Publication Number Publication Date
KR102314354B1 true KR102314354B1 (en) 2021-10-19

Family

ID=78228064

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210027528A KR102314354B1 (en) 2021-03-02 2021-03-02 Method for receiving web contents for 360-degree multimedia device and apparatus for the same
KR1020210128916A KR102482201B1 (en) 2021-03-02 2021-09-29 server for providing web content including HTML regions

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210128916A KR102482201B1 (en) 2021-03-02 2021-09-29 server for providing web content including HTML regions

Country Status (1)

Country Link
KR (2) KR102314354B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120110816A (en) * 2011-03-30 2012-10-10 삼성에스디에스 주식회사 Method and apparatus for publishing digital u-learning book
KR20130082732A (en) 2011-12-15 2013-07-22 주식회사 네오위즈인터넷 Method, terminal, and recording medium for providing user interface for contents service
KR20190140946A (en) * 2017-03-31 2019-12-20 삼성전자주식회사 Method and device for rendering timed text and graphics in virtual reality video
KR20200050774A (en) * 2018-11-02 2020-05-12 김현일 HTML5-based web-responsive content interactive social learning system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120110816A (en) * 2011-03-30 2012-10-10 삼성에스디에스 주식회사 Method and apparatus for publishing digital u-learning book
KR20130082732A (en) 2011-12-15 2013-07-22 주식회사 네오위즈인터넷 Method, terminal, and recording medium for providing user interface for contents service
KR20190140946A (en) * 2017-03-31 2019-12-20 삼성전자주식회사 Method and device for rendering timed text and graphics in virtual reality video
KR20200050774A (en) * 2018-11-02 2020-05-12 김현일 HTML5-based web-responsive content interactive social learning system

Also Published As

Publication number Publication date
KR20220124071A (en) 2022-09-13
KR102482201B1 (en) 2022-12-29

Similar Documents

Publication Publication Date Title
US10043549B2 (en) Systems and methods for generation of composite video
EP3329682B1 (en) A system for compositing video with interactive, dynamically rendered visual aids
JP4514965B2 (en) Convergence enable DVD and web system
US9836437B2 (en) Screencasting for multi-screen applications
US20010033296A1 (en) Method and apparatus for delivery and presentation of data
JP2004287595A (en) Device and method for converting composite media contents and its program
CN102833490A (en) Method and system for editing and playing interactive video, and electronic learning device
US20110314368A1 (en) Method to Generate a Software Part of a Web Page and Such Software Part
KR102314354B1 (en) Method for receiving web contents for 360-degree multimedia device and apparatus for the same
KR101856626B1 (en) Creative production and play system Web type based DIY
CN116095388A (en) Video generation method, video playing method and related equipment
KR102274760B1 (en) Method for generating interactive web cotents and apparatus for the same
US20110167346A1 (en) Method and system for creating a multi-media output for presentation to and interaction with a live audience
US20240055025A1 (en) System and method for dynamic, data-driven videos
US20130182183A1 (en) Hardware-Based, Client-Side, Video Compositing System
Perakakis et al. HTML5 and companion web technologies as a universal platform for interactive Internet TV advertising
WO2020093865A1 (en) Media file, and generation method and playback method therefor
Honkala et al. A device independent xml user agent for multimedia terminals
JP2009514326A (en) Information brokerage system
US20230146648A1 (en) Immersive learning application framework for video with web content overlay control
Viel et al. Go beyond boundaries of iTV applications
KR102164835B1 (en) Method for manufacturing E-book
Mertens et al. Interactive content overviews for lecture recordings
CN115079976A (en) Multi-screen linkage method, device, equipment, storage medium and program product
JP2003317110A (en) Method for providing three-dimensional moving picture data and display method for the data, providing device and display terminal for the data, programs for executing the methods, and recording media where the programs for executing the methods are recorded

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant