KR20230078369A - Method for providing 3D image service using hybrid transmission system - Google Patents
Method for providing 3D image service using hybrid transmission system Download PDFInfo
- Publication number
- KR20230078369A KR20230078369A KR1020210166091A KR20210166091A KR20230078369A KR 20230078369 A KR20230078369 A KR 20230078369A KR 1020210166091 A KR1020210166091 A KR 1020210166091A KR 20210166091 A KR20210166091 A KR 20210166091A KR 20230078369 A KR20230078369 A KR 20230078369A
- Authority
- KR
- South Korea
- Prior art keywords
- content
- video
- server
- image
- request
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000005540 biological transmission Effects 0.000 title description 11
- 238000009877 rendering Methods 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 17
- 230000008929 regeneration Effects 0.000 claims 2
- 238000011069 regeneration method Methods 0.000 claims 2
- 230000004044 response Effects 0.000 description 25
- 230000008569 process Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N21/4353—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8543—Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
본 발명은 서버에 저장된 3차원 영상을 실시간으로 재생 및 렌더링할 수 있는 전송 시스템 기술에 관한 것이다.The present invention relates to a transmission system technology capable of reproducing and rendering a 3D image stored in a server in real time.
3차원(3D) 영상은 2차원(2D) 영상과는 다르게 x, y 좌표뿐만 아니라 공간좌표(z)를 포함하기 때문에, 2D 영상과 다른 별도의 파일 포맷으로 저장된다. 3D 영상은 사용자가 바라보는 시점(View)의 2차원(2D) 영상을 렌더링하기 때문에, 이러한 서비스를 제공받기 위해, 사용자는 해당 포맷의 파일을 파싱하여 렌더링하는 기술(이하 렌더러)이 반드시 요구된다.Since a three-dimensional (3D) image includes spatial coordinates (z) as well as x and y coordinates, unlike a two-dimensional (2D) image, it is stored in a separate file format different from that of a 2D image. Since 3D video renders a two-dimensional (2D) video from the user's point of view, in order to receive this service, users must have a technology (hereinafter referred to as a renderer) that parses and renders a file of the corresponding format. .
복잡한 3D 영상(고해상도 또는 고정밀)의 경우 고사양의 하드웨어 단말이 요구되며, 데이터 용량이 큰 경우에는 단말 사양에 따라 실시간 렌더링이 불가능하거나 초기 지연 및 서비스 끊김이 발생할 수 있다.In the case of complex 3D images (high resolution or high precision), a high-end hardware terminal is required, and when the data capacity is large, real-time rendering may not be possible or initial delay and service interruption may occur depending on the terminal specifications.
최근에는 이러한 문제점을 해결하기 위해 서버에서 사용자 시점에 맞춰 2D 렌더링을 수행한 후 2D 영상을 스트리밍 하는 기술이 개발되고 있다. 이 경우, 서버에서 각 사용자가 바라보는 시점에 대해 실시간으로 렌더링하여 전송하므로 사용자가 많을 경우 서버에 과부하가 걸릴 수 있는 문제가 있다.Recently, in order to solve this problem, a technology for streaming 2D images after performing 2D rendering according to a user's point of view in a server has been developed. In this case, there is a problem in that the server may be overloaded when there are many users because the server renders and transmits the view point of each user in real time.
따라서 단말기의 렌더러 여부와 관계없이 서비스가 가능하고, 초기지연을 최소화할 수 있으며 사용자가 단말기 사양에 따라 서비스 타입을 선택할 수 있는 시스템 구조가 요구됨Therefore, a system structure that enables service regardless of whether the terminal is a renderer, minimizes initial delay, and allows users to select a service type according to terminal specifications is required.
본 발명은 3D 영상 서비스를 제공할 때 사용자의 요구 콘텐츠 복잡도 및 네트워크 환경에 따라 3D 영상 파일을 직접 전송하거나 서버가 3D 영상을 렌더링한 뒤 그 결과를 2D 화면으로 스트리밍하는 서비스 구조를 제안한다.The present invention proposes a service structure in which a 3D video file is directly transmitted or a server renders a 3D video and then streams the result to a 2D screen according to the user's required content complexity and network environment when providing a 3D video service.
본 발명에 따라 제안된 서비스는 콘텐츠 유형과 미디어 유형, 데이터 획득 경로(URL 등) 등을 목록화 한 디스크립션 파일을 사용자에게 제공하고 사용자가 자신에게 적합한 데이터를 요청/획득하여 플레이하기 때문에, 3D 영상 렌더링이 불가능하거나 데이터의 크기가 커 네트워크에서 초기 지연이 예상될 경우, 2D 화면으로 스트리밍 서비스를 받을 수 있어 단말기의 종류와 관계없이 고속 3D 영상 서비스 제공이 가능하다.The service proposed according to the present invention provides the user with a description file listing the content type, media type, data acquisition path (URL, etc.), etc., and the user requests/acquires data suitable for himself/herself to play. When rendering is impossible or the initial delay is expected in the network due to the large size of data, streaming service can be received on a 2D screen, providing high-speed 3D video service regardless of the type of terminal.
본 발명의 전술한 목적들 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부된 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확 해진다.The above-mentioned objects and other objects, advantages and characteristics of the present invention, and a method of achieving them will become clear with reference to the embodiments described below in detail in conjunction with the accompanying drawings.
상술한 목적을 달성하기 위한 본 발명의 일면에 따른 3차원 영상 서비스를 제공하는 방법은, 사용자의 사용자 단말과 소켓 통신을 수행하는 서버에서 3차원(3D) 영상 서비스를 제공하는 방법으로서, 상기 사용자 단말로 디스크립션 파일을 송신하는 단계; 상기 사용자 단말로부터 상기 사용자가 상기 디스크립션 파일을 기반으로 선택한 콘텐츠를 요청하는 요청 메시지를 수신하는 단계; 상기 요청 메시지에 따라, 3D 영상 콘텐츠 또는 2D 영상 스트림 콘텐츠를 생성하는 단계; 및 상기 생성된 3D 영상 콘텐츠 또는 2D 영상 스트림 콘텐츠를 상기 사용자 단말로 송신하는 단계를 포함한다.A method for providing a 3D image service according to an aspect of the present invention for achieving the above object is a method for providing a 3D image service in a server that performs socket communication with a user terminal of a user. Transmitting a description file to a terminal; Receiving a request message requesting content selected by the user based on the description file from the user terminal; generating 3D video content or 2D video stream content according to the request message; and transmitting the generated 3D video content or 2D video stream content to the user terminal.
실시 예에서, 상기 디스크립션 파일은, 상기 서버에서 서비스 가능한 콘텐츠 타입, 미디어 타입, 콘텐츠 용량 및 접속 경로(URL)와 관련된 정보를 XML 기반으로 명시한 파일 정보일 수 있다.In an embodiment, the description file may be file information specifying information related to content type, media type, content capacity, and access path (URL) serviceable by the server based on XML.
실시 예에서, 상기 생성하는 단계는, 상기 요청 메시지에 따라, 사용자 요청이 3D 영상 콘텐츠 요청인지 2D 영상 스트림 콘텐츠 요청인지를 체크하는 단계; 상기 사용자 요청이 3D 영상 콘텐츠 요청인 경우, 상기 3D 영상 콘텐츠를 생성하는 단계; 및 상기 사용자 요청이 상기 2D 영상 스트림 콘텐츠 요청인 경우, 상기 2D 영상 스트림 콘텐츠를 생성하는 단계를 포함할 수 있다.In an embodiment, the generating may include checking whether the user request is a 3D video content request or a 2D video stream content request according to the request message; generating the 3D video contents when the user request is a request for 3D video contents; and generating the 2D video stream contents when the user request is the 2D video stream contents request.
실시 예에서, 상기 3D 영상 콘텐츠를 생성하는 단계는, 3D 영상 데이터베이스로부터 상기 3D 영상 콘텐츠에 대응하는 3D 영상 데이터를 획득하는 단계; 및 상기 획득한 3D 영상 데이터를 처리하여, 3D 영상 데이터 패킷을 상기 3D 영상 콘텐츠로서 생성하는 단계를 포함할 수 있다.In an embodiment, the generating of the 3D image content may include obtaining 3D image data corresponding to the 3D image content from a 3D image database; and processing the acquired 3D image data to generate a 3D image data packet as the 3D image contents.
실시 예에서, 상기 2D 영상 스트림 콘텐츠를 생성하는 단계는, 3D 영상 데이터베이스로부터 상기 3D 영상 콘텐츠에 대응하는 3D 영상 데이터를 획득하는 단계; 상기 3D 영상 데이터를 렌더링하는 단계; 상기 렌더링된 3D 영상 데이터를 인코딩하여 2D 영상 스트림을 생성하는 단계; 상기 생성된 2D 영상 스트림을 처리하여 생성된 2D 영상 스트림 패킷을 상기 2D 영상 스트림 콘텐츠로서 생성하는 단계를 포함할 수 있다.In an embodiment, the generating of the 2D video stream content may include obtaining 3D video data corresponding to the 3D video content from a 3D video database; rendering the 3D image data; generating a 2D video stream by encoding the rendered 3D video data; and generating a 2D video stream packet generated by processing the generated 2D video stream as the 2D video stream contents.
본 발명의 일면에 따른 3차원 영상 서비스를 제공하는 방법은, 서버와 소켓 통신을 수행하는 사용자 단말에서 3차원(3D) 영상 서비스를 제공하는 방법으로서, 서버로부터 디스크립션 파일을 다운로딩 하는 단계; 상기 디스크립션 파일을 기반으로 선택된 콘텐츠를 요청하는 요청 메시지를 상기 서버로 송신하는 단계; 상기 요청 메시지에 따라, 상기 서버로부터 3D 영상 데이터 또는 2D 영상 스트림을 수신하는 단계; 및 상기 3D 영상 데이터 또는 2D 영상 스트림을 재생하는 단계를 포함한다.A method for providing a 3D image service according to an aspect of the present invention is a method for providing a 3D image service in a user terminal that performs socket communication with a server, comprising the steps of downloading a description file from a server; transmitting a request message requesting content selected based on the description file to the server; receiving 3D video data or 2D video stream from the server according to the request message; and reproducing the 3D video data or the 2D video stream.
실시 예에서, 상기 디스크립션 파일은, 콘텐츠 타입, 미디어 타입, 콘텐츠 용량 및 접속 경로(URL)와 관련된 XML 기반의 명시된 파일 정보일 수 있다.In an embodiment, the description file may be XML-based specified file information related to content type, media type, content capacity, and access path (URL).
실시 예에서, 상기 요청 메시지를 상기 서버로 송신하는 단계는, 상기 디스크립션 파일을 기반으로 선택된 콘텐츠가 저용량 콘텐츠인 경우, 3D 영상 데이터를 요청하는 상기 요청 메시지를 상기 서버로 송신하는 단계; 및 상기 디스크립션 파일을 기반으로 선택된 콘텐츠가 고용량 콘텐츠인 경우, 2D 영상 스트림을 요청하는 상기 요청 메시지를 상기 서버로 송신하는 단계를 포함할 수 있다.In an embodiment, the transmitting of the request message to the server may include, when the content selected based on the description file is low-capacity content, transmitting the request message requesting 3D image data to the server; and when the content selected based on the description file is high-capacity content, transmitting the request message requesting a 2D video stream to the server.
실시 예에서, 상기 요청 메시지를 상기 서버로 송신하는 단계는, 상기 사용자 단말이 3D 영상 렌더링을 지원하고, 상기 디스크립션 파일을 기반으로 선택된 콘텐츠가 저용량 콘텐츠인 경우, 3D 영상 데이터를 요청하는 상기 요청 메시지를 상기 서버로 송신하는 단계; 및 상기 사용자 단말이 상기 3D 영상 렌더링을 지원하고, 상기 디스크립션 파일을 기반으로 선택된 콘텐츠가 고용량 콘텐츠인 경우, 2D 영상 스트림을 요청하는 상기 요청 메시지를 상기 서버로 송신하는 단계를 포함할 수 있다.In an embodiment, the step of transmitting the request message to the server may include the request message requesting 3D image data when the user terminal supports 3D image rendering and the content selected based on the description file is low-capacity content. Transmitting to the server; and transmitting the request message requesting a 2D video stream to the server when the user terminal supports the 3D video rendering and the content selected based on the description file is high-capacity content.
실시 예에서, 상기 요청 메시지를 상기 서버로 송신하는 단계는, 상기 사용자 단말이 3D 영상 렌더링을 지원하지 않는 경우, 2D 영상 스트림을 요청하는 상기 요청 메시지를 상기 서버로 송신하는 단계일 수 있다.In an embodiment, the transmitting of the request message to the server may include transmitting the request message requesting a 2D video stream to the server when the user terminal does not support 3D video rendering.
실시 예에서, 상기 재생하는 단계는, 상기 3D 영상 데이터를 렌더링하는 단계; 및 상기 렌더링된 3D 영상 데이터를 재생하는 단계를 포함할 수 있다.In an embodiment, the reproducing may include rendering the 3D image data; and reproducing the rendered 3D image data.
실시 예에서, 상기 재생하는 단계는, 상기 2D 영상 스트림을 디코딩하는 단계; 및 상기 디코딩된 상기 2D 영상 스트림을 재생하는 단계를 포함할 수 있다.In an embodiment, the reproducing may include decoding the 2D video stream; and reproducing the decoded 2D video stream.
본 발명에 따르면, 사용자가 자신에게 적합한 콘텐츠 유형 및 URL을 요청하기 때문에 서버에서 응답을 단순화시킬 수 있어 서버의 부하를 줄일 수 있다. 또한 단말기의 성능이나 종류에 관계없이 3D 영상 서비스가 가능하여 다양한 부가서비스를 제공할 수 있다.According to the present invention, since a user requests a content type and a URL suitable for him/herself, a server load can be reduced by simplifying a response from the server. In addition, 3D image service is possible regardless of the performance or type of terminal, so that various additional services can be provided.
도 1은 본 발명의 실시 예에 따른 3차원(3D) 영상 서비스 제공을 위한 하이브리드 전송 시스템의 기본적인 구성들을 나타내는 블록도이다.
도 2는 도 1에 도시된 3D 영상 하이브리드 서버의 주요 구성들을 보다 상세히 나타낸 블록도이다.
도 3은 도 2에 도시된 3D 영상 하이브리드 서버가 사용자 단말의 요청에 대한 응답 처리 과정을 나타내는 순서도이다.
도 4는 도 1에 도시된 사용자 단말의 주요 구성들을 보다 상세히 나타낸 블록도이다.
도 5은 도 4에 도시된 사용자 단말의 요청 처리 과정을 나타내는 순서도이다.1 is a block diagram showing basic configurations of a hybrid transmission system for providing a three-dimensional (3D) video service according to an embodiment of the present invention.
FIG. 2 is a block diagram showing the main components of the 3D video hybrid server shown in FIG. 1 in more detail.
FIG. 3 is a flowchart illustrating a process of processing a response to a request of a user terminal by the 3D video hybrid server shown in FIG. 2 .
FIG. 4 is a block diagram showing the main components of the user terminal shown in FIG. 1 in more detail.
5 is a flowchart illustrating a request processing process of the user terminal shown in FIG. 4 .
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can make various changes and have various embodiments, specific embodiments are illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.
본 발명은 서버에 저장된 3차원 영상을 실시간으로 재생 및 렌더링할 수 있는 전송 시스템 기술에 관한 것으로, 3차원(3D) 영상을 사용자에게 서비스할 수 있는 서버 및 클라이언트 기술을 포함하며, 사용자에게 하나의 3D 영상 대하여 서비스 가능한 목록을 제공하는 XML 기반의 디스크립터 전송기술(DASH-MPD)을 포함하도록 구성됨을 특징으로 한다.The present invention relates to a transmission system technology capable of reproducing and rendering a 3D image stored in a server in real time, including a server and client technology capable of providing a service of a 3D image to a user, and providing a user with one It is characterized in that it is configured to include an XML-based descriptor transmission technology (DASH-MPD) that provides a serviceable list for 3D images.
또한, 본 발명은 3D 영상을 2D 영상으로 스트리밍하기 위한 캡처 스트림 및 장면 제어 기술을 포함하며, 저지연 서비스를 위한 소켓 통신 기술을 포함하도록 구성됨을 특징으로 한다.In addition, the present invention is characterized in that it is configured to include a capture stream and scene control technology for streaming 3D video to 2D video, and a socket communication technology for low-latency service.
또한, 본 발명은 3D 영상 서비스를 제공할 때 사용자의 요구 콘텐츠 복잡도 및 네트워크 환경에 따라 3D 영상 파일을 직접 전송하거나 서버가 3D 영상을 렌더링한 뒤 그 결과를 2D 화면으로 스트리밍하는 서비스를 특징으로 한다.In addition, when providing a 3D video service, the present invention is characterized by a service in which a 3D video file is directly transmitted or a server renders a 3D video and then streams the result to a 2D screen according to the user's requested content complexity and network environment. .
또한, 본 발명은 콘텐츠 유형과 미디어 유형, 데이터 획득 경로(URL 등) 등을 목록화 한 디스크립션 파일을 사용자에게 제공하고 사용자가 자신에게 적합한 데이터를 요청/획득하여 플레이하기 때문에 3D 영상 렌더링이 불가능 하거나 데이터의 크기가 커 네트워크에서 초기 지연이 예상될 경우, 2D 화면으로 스트리밍 서비스를 받을 수 있어 단말기의 종류와 관계없이 저지연 3D 영상 서비스 제공이 가능함을 특징으로 한다.In addition, since the present invention provides the user with a description file listing content types, media types, data acquisition paths (URL, etc.), and the user requests/obtains and plays data suitable for himself, 3D image rendering is impossible or When the initial delay is expected in the network due to the large size of data, streaming service can be received on a 2D screen, so it is possible to provide low-latency 3D video service regardless of the type of terminal.
이러한 본 발명은 하나의 3D 영상에 대하여 3D 파일 전송 또는 서버에서 2D 렌더링 후 선택적으로 스트리밍 할 수 있고, 3D 영상에 대하여 제공하는 서비스 유형을 목록으로 제공하며, 사용자 단말 환경에 적합한 서비스 요청이 가능하다는 점에서 종래 기술과 차별화될 수 있다.The present invention can selectively stream one 3D image after 3D file transmission or 2D rendering in a server, provides a list of service types provided for 3D images, and makes it possible to request a service suitable for the user terminal environment. In this respect, it can be differentiated from the prior art.
도 1은 본 발명의 실시 예에 따른 3차원(3D) 영상 서비스 제공을 위한 하이브리드 전송 시스템의 기본적인 구성들을 나타내는 블록도이다.1 is a block diagram showing basic configurations of a hybrid transmission system for providing a three-dimensional (3D) video service according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시 예에 따른 하이브리드 전송 시스템(300)은 3D 영상 하이브리드 서버(100)와 사용자 단말(클라이언트 또는 사용자 디바이스)(200)를 포함한다.Referring to FIG. 1 , a
3D 영상 하이브리드 서버(100)과 사용자 단말(200)은 네트워크(도 1에는 도시하지 않음)를 통해 패킷, 파일 및/또는 메시지 형태의 정보를 실시간으로 교환하며, 이들(100 및 200) 간의 통신 방식은 실시간 영상 스트리밍, 실시간 데이터 전송 및 양방향 통신에 유리한 소켓(Socket) 통신일 수 있다.The 3D
하이브리드 서버(100)와 사용자 단말(200) 모두 통신 기능을 구비한 '컴퓨팅 장치'로 불릴 수 있으며, 다만, 처리 성능에서는 차이가 있을 수 있다. 예를 들면, 하이브리드 서버(100)는 사용자 단말(200)보다 처리 성능이 더 우수한 컴퓨팅 장치일 수 있다.Both the
컴퓨팅 장치는 기본적으로 적어도 하나의 프로세스(예, 적어도 하나의 CPU 및/또는 적어도 하나의 GPU), 적어도 하나의 메모리(예, D램 S램, DDR 등), 적어도 하나의 저장 매체(예, 하드 디스크 등), 입력 인터페이스(예, 키 입력 수단), 출력 인터페이스(예, 표시 수단 등) 및 통신 인터페이스 등과 같은 하드웨어 구성을 포함하도록 구성될 수 있다. A computing device basically includes at least one processor (eg, at least one CPU and/or at least one GPU), at least one memory (eg, DRAM, SRAM, DDR, etc.), and at least one storage medium (eg, hard drive). disk, etc.), an input interface (eg, a key input unit), an output interface (eg, a display unit, etc.), and a communication interface.
3D 영상 하이브리드 서버(100)는, 사용자 단말(200)의 사양과 관계없이, 사용자 단말(200)에게 3D 영상 콘텐츠를 전송하는 장치로서, 사용자에게 3D 영상 콘텐츠를 제공하는 서비스를 제공한다. 3D 영상 하이브리드 서버(100)는 디스크립터(descriptor)('디스크립션 파일 매니저' 또는 디스크립션 파일(description file) 생성기)(110), 3D 영상 렌더러(1120) 및 2D 스트림 인코더(130)를 포함한다. 또한, 3D 영상 하이브리드 서버(100)는 3D 영상 콘텐츠를 저장하고 있는 3D 영상 데이터베이스(140)와 연동한다.The 3D
클라이언트(200)는, 3D 영상 하이브리드 서버(100)로부터 제공된 3D 영상 콘텐츠를 재생하는 장치로서, 디스크립션 파일 파서(210)와 재생기(230)(player)를 포함하여, 재생기(230)는 3D 영상 렌더러(232)와 2D 스트림 디코더(234)를 포함한다.The
3D 영상 하이브리드 서버(100)는 디스크립션 파일(description file)을 통해 사용자 단말(200)이 접근할 수 있는 콘텐츠 타입(content-type), 미디어 타입(media-type), 접근 경로(URL) 등을 사용자 단말(200)에게 제공하고, 사용자 단말(200)은 자신의 디바이스 환경과 네트워크 환경에 따라 데이터(콘텐츠)를 제공받을 접근 경로를 선택하여 3D 영상 콘텐츠를 서비스 받는다. The 3D
3D 영상 하이브리드 서버(100)는 3D 영상 데이터베이스(140)를 기반으로 디스크립터(또는 3D 영상 디스크립션 생성기)(110)를 통해 디스크립션 파일을 생성한다. 디스크립션 파일은 DASH-MPD[2]와 같이 XML 기반으로 되어 있으며 콘텐츠 타입, 미디어 타입 등을 포함할 수 있다. 여기서, DASH는 'Dynamic Adaptive Streaming over HTTP'의 약자이며, MPD는 'Media Presentation Description'의 약자이다.The 3D
사용자 단말(200)는 디스크립션 파일을 다운로드하고, 디스크립션 파일 파서(210)를 이용하여 다운로딩한 디스크립션 파일을 파싱하고, 사용자 환경에 적합한 콘텐츠를 요청한다. 이를 통해 사용자 단말(200)은 3D 영상의 복잡도를 판단할 수 있으며, 실시간 렌더링이 가능하고 네트워크 환경이 안정적인 경우, 3D 영상 콘텐츠(또는 3D 영상 파일)을 요청 및 획득한다. 이 경우 사용자 단말(200)은 다운로드 된 콘텐츠를 자신의 디바이스에서 지연 없이 실시간으로 제어(3D 화면 이동 등) 할 수 있다. The
실시간 3D 렌더링이 불가능하거나 콘텐츠의 데이터 크기가 매우 커 네트워크 지연이 예상되는 경우, 사용자는 2D 영상 스트림 형태로 3D 영상을 요청할 수 있다. 이 경우 3D 영상 하이브리드 서버(100)는 3D 영상 렌더러(120)와 2D 스트림 인코더(130)을 이용하여 해당 콘텐츠를 2D로 렌더링 및 인코딩하고, 렌더링 및 인코딩된 해당 콘텐츠를 사용자 단말(200)에게 스트리밍한다. When real-time 3D rendering is impossible or when network delay is expected due to a very large content data size, the user can request 3D video in the form of a 2D video stream. In this case, the 3D
사용자 단말(200)이 영상을 제어하는 경우, 제어 정보가 제어 채널을 통해 3D 영상 하이브리드 서버(100)에 전송되고, 3D 영상 하이브리드 서버(100)는 해당 제어 정보를 반영하여 2D 렌더링 한 후 해당 결과를 사용자에게 스트리밍 한다.When the
도 2는 도 1에 도시된 3D 영상 하이브리드 서버의 주요 구성들을 보다 상세히 나타낸 블록도이다.FIG. 2 is a block diagram showing the main components of the 3D video hybrid server shown in FIG. 1 in more detail.
도2를 참조하면, 본 발명의 실시 예에 따른 3D 영상 하이브리드 서버(100)는 도 1에 도시된 3D 영상 하이브리드 서버(100) 내의 구성들(110, 120, 130, 140)외에 요청 컨트롤러(150), 3D 영상 데이터 버퍼 컨트롤러(160), 스트림 버퍼 컨트롤러(170) 및 응답 컨트롤러(180)를 더 포함할 수 있다.Referring to FIG. 2, the 3D
요청 컨트롤러(150)는 사용자 단말(200)로부터 패킷 및/또는 메시지 형태로 수신된 사용자의 요청을 처리한다. 이러한 요청 컨트롤러(150)는 수신 기능 및 메시징(또는 패킷) 처리 기능을 수행하는 통신 인터페이스일 수 있다.The
3D 영상데이터 버퍼 컨트롤러(160)는 3D 영상 데이터베이스(140)에 저장된 3D 영상 데이터들(3D 영상 콘텐츠들) 중에서 사용자가 원하는 3D 영상 데이터(3D 영상 콘텐츠)를 처리하여 3D 영상 데이터 패킷을 생성한다.The 3D image
렌더러(120)는 3D 영상 데이터베이스(140)에 저장된 3D 영상 콘텐츠들 중에서 사용자가 원하는 3D 영상 콘텐츠에 포함된 3D 오브젝트를 렌더링한다.The
인코더(130)는 렌더러(120)에 의해 렌더링된 결과를 인코딩하여, 2D 영상 스트림을 생성한다.The
스트림 버퍼 컨트롤러(170)는 인코더에 의해 인코딩된 2D 비디오 스트림을 처리하여 미디어 스트림 패킷을 생성한다.The
응답 컨트롤러(180)는 사용자 요청에 대한 응답과 생성된 3D 영상 데이터 패킷 및/또는 미디어 스트림 패킷을 처리하여 사용자 단말(200)로 전송한다. 이러한 응답 컨트롤러(180)는 송신 기능 및 메시징(또는 패킷) 처리 기능을 수행하는 통신 인터페이스일 수 있다.The
3D 영상 디스크립션 생성기(110)는 3D 영상 데이터베이스를 기반으로 디스크립션 파일을 XML 형태로 생성하고, 이를 응답 컨트롤러(180)를 통해 사용자 단말(200)로 전송한다.The 3D
사용자 단말(200)의 사용자는 원하는 콘텐츠에 대한 디스크립션 파일을 수신한 후, 3D 영상 서비스 또는 2D 스트림 서비스 요청이 가능하며, 요청 콘텐츠에 대한 서비스를 제공받은 이후 콘텐츠에 대한 제어 혹은 수정을 요청할 수 있다.The user of the
응답 컨트롤러(180)는 요청에 대한 메시지와 요청에 대한 패킷/파일 데이터를 사용자에게 전달한다.The
도 3은 도 2에 도시된 3D 영상 하이브리드 서버가 사용자 단말의 요청에 대한 응답 처리 과정을 나타내는 순서도이다.FIG. 3 is a flowchart illustrating a process of processing a response to a request of a user terminal by the 3D video hybrid server shown in FIG. 2 .
도 3을 참조하면, 먼저, 단계 301에서, 서버(100) 내의 요청 컨트롤러(150)가 사용자 단말(200)로부터의 사용자 요청에 대하여 콘텐츠 요청, 수정 요청 및 제어 요청으로 구분하여 해당 요청을 처리한다.Referring to FIG. 3, first, in
이어, 단계 302에서, 요청 컨트롤러(150)가 사용자 요청에 따른 요청 타입이 콘텐츠 요청인지를 체크한다.Next, in
이어, 단계 303에서, 요청 타입이 콘텐츠 요청인 경우, 사용자 요청에 따른 미디어 타입 요청이 2D 영상 스트림인지를 체크한다.Next, in
이어, 단계 304에서, 미디어 타입 요청이 2D 영상 스트림 경우, 서버(100) 내의 렌더러(120)가 사용자가 2D 스트리밍 방식으로 제공받고자 하는 3D 영상 데이터를 렌더링한다. 여기서, 단계 303과 단계 304는 하나의 단계로 통합될 수 있다. 이 경우, 통합된 단계는 사용자의 요청이 3D 영상 데이터(3D 영상 콘텐츠) 요청 인지 2D 영상 스트림 요청인지를 판단하는 단계일 수 있다.Next, in
이어, 단계 305에서, 인코더(130)가 렌더링 결과(렌더링 된 3D 영상)를 인코딩하여 2D 영상 스트림을 생성한다.Next, in
이어, 단계 306에서, 스트림 버퍼 컨트롤러(또는 스트림 패킷 생성기)(170)가 2D 영상 스트림을 처리하여 미디어 스트림 패킷을 생성한다.Next, in
이어, 단계 308에서, 서버(100) 내의 응답 컨트롤러(180)가 생성된 미디어 스트림 패킷을 사용자 단말(200)로 전송한다. Next, in
한편, 단계 303에서, 미디어 타입 요청이 2D 스트리밍(2D streaming)이 아닌 경우, 단계 309로 진행하고, 단계 S309에서 미디어 타입 요청이 3D 영상(3D 영상 콘텐츠) 요청인지를 체크한다. Meanwhile, in
이어, 단계 310에서, 미디어 타입 요청이 3D 영상 요청인 경우, 3D 영상 데이터 버퍼 컨트롤러(160)가 사용자가 요청한 3D 영상(3D 영상 데이터베이스(140)로부터 획득한 3D 영상)을 처리하여 3D 영상 데이터 패킷을 생성하고, 단계 308에서, 서버(100) 내의 응답 컨트롤러(180)가 생성된 3D 영상 데이터 패킷을 사용자 단말(200)로 전송한다.Next, in
한편, 단계 S309에서 미디어 타입 요청이 3D 영상(3D 영상 콘텐츠) 요청이 아닌 경우, 단계 311로 진행하고, 단계 S311에서, 미디어 타입 요청이 디스크립션 파일 요청인지를 체크한다.Meanwhile, when the media type request is not a 3D video (3D video content) request in step S309, the process proceeds to step 311, and in step S311, it is checked whether the media type request is a description file request.
단계 312에서, 미디어 타입 요청이 디스크립션 파일 요청인 것으로 체크되면, 3D 영상 디스크립션 생성기(또는 디스크립터)(110)가 3D 영상 데이터 베이스를 기반으로 하는 XML 형식의 디스크립션 파일을 생성하고, 도 1 및 2에는 도시하지 않았으나, 디스크립션 파일 매니저가 상기 생성된 디스크립션 파일을 패킷(디스크립션 파일 패킷)으로 생성(변환)한 후, 단계 308에서, 응답 컨트롤러(180)가 디스크립션 파일 패킷을 사용자 단말(200)로 전송한다.In
한편, 단계 302에서, 요청 타입이 콘텐츠 요청이 아닌 경우, 단계 313으로 진행하고, 요청 타입이 수정 요청인 경우, 3D 영상(3D 영상 콘텐츠)를 변경하여 미디어 타입을 확인하여 수정된 오브젝트를 전송한다. Meanwhile, in
단계 314에서, 요청 타입이 제어 요청인 경우, 미디어 타입이 스트리밍 이므로, 3D 영상 데이터에 해당 요청을 반영하여 렌더링 후 2D 스트림으로 인코딩하여 패킷으로 전송한다. 모든 응답은 요청 처리 결과에 대한 응답 메시지를 같이 전송할 수 있다.In
이상 설명한 단계들은 설명의 이해를 돕기 위해 시계열적으로 나열한 것에 불과하며, 일부 단계들은 병렬적으로 또는 동시에 수행되거나 하나의 단계로 통합될 수 있다. 예를 들면, 도 3에서 단계들 302, 303, 309, 311, 313 및 314과 같이 판단하는 단계들은 설명의 이해를 돕기 위해, 구분한 것에 불과하며, 하나의 단계로 통합될 수도 있다.The steps described above are only listed in chronological order to facilitate understanding of the description, and some steps may be performed in parallel or simultaneously or integrated into one step. For example, steps 302 , 303 , 309 , 311 , 313 , and 314 of FIG. 3 , which are judged, are only classified to help understanding of the description, and may be integrated into one step.
도 4는 도 1에 도시된 사용자 단말의 주요 구성들을 보다 상세히 나타낸 블록도이다.FIG. 4 is a block diagram showing the main components of the user terminal shown in FIG. 1 in more detail.
도 4를 참조하면, 본 발명의 실시 예에 따른 사용자 단말(200)은 Referring to FIG. 4, a
요청 컨트롤러(201), 응답 컨트롤러(202), 디스크립션 파일 파서(210), 파일/데이터 버퍼 컨트롤러(203), 3D 영상 데이터 버퍼 컨트롤러(204), 스트림 버퍼 컨트롤러(205), 렌더러(232), 디코더(234) 및 이벤트 컨트롤러(236)를 포함한다.Request Controller (201), Response Controller (202), Description File Parser (210), File/Data Buffer Controller (203), 3D Image Data Buffer Controller (204), Stream Buffer Controller (205), Renderer (232),
요청 컨트롤러(201)는 현재 가용 네트워크 용량(Bandwidth)을 계산하고, 단말기의 렌더러 가능 여부 및 사용자의 오브젝트 콘텐츠 선택에 따라, 상기 계산된 현재 가용 네트워크 용량을 기반으로 적합한 경로를 선택하여 요청 메시지를 서버(100)로 전송한다. 이러한 요청 컨트롤러(201)는 송신 기능 및 메시징(패킷) 처리 기능을 수행하는 통신 인터페이스일 수 있다.The
응답 컨트롤러(202)는 요청한 결과에 대한 응답을 처리한다. 이러한 응답 컨트롤러(202)는 수신 기능 및 메시징(패킷) 처리 기능을 수행하는 통신 인터페이스일 수 있다. 응답 컨트롤러(202)은 요청 콘텐츠의 타입에 따라 패킷을 제어한다. The
파일/데이터 버퍼 컨트롤러(203)는 응답 컨트롤러(202)를 통해 서버(100)로부터 수신된 디스크립션 파일 패킷을 처리하여 디스크립션 파일을 추출하고, 이를 디스크립션 파일 파서(210)로 전달한다. The file/
디스크립션 파일 파서(210)는 전달된 디스크립션 파일을 파싱(분석)하여, 서버(100)에서 서비스 가능한 콘텐츠 타입, 미디어 타입, 콘텐츠 크기, 접속 경로(URL) 등을 나타내는 목록(list) 정보를 사용자 인터페이스(UI: User Interface)을 통해 사용자에게 전달한다. 여기서, 디스크립션 파일은 서버(100)에서 서비스 가능한 미디어타입 및 콘텐츠에 대한 상세정보를 MEPG-DASH:MPD와 같은 XML 기반의 파일 정보로 명시한 것일 수 있다.The
사용자는 사용자 인터페이스를 통해 표시되는 목록(list) 정보를 기반으로 자신의 디바이스 환경과 네트워크 환경에 따라 데이터(콘텐츠)를 제공받을 수 있는 경로를 선택하여, 서버(100)에게 자신이 선택한 데이터(콘텐츠)를 요청한다.Based on the list information displayed through the user interface, the user selects a path through which data (contents) can be provided according to the user's device environment and network environment, and sends the
사용자가 요청한 콘텐츠 타입이 3D 영상 데이터인 경우, 3D 영상 데이터 버퍼 컨트롤러(204)는 응답 컨트롤러(202)를 통해 서버(100)로부터 수신된 3D 영상 데이터 패킷을 처리하여, 3D 영상 데이터(3D 영상 콘텐츠)를 생성하고, 이를 렌더러(232)로 전달한다.When the content type requested by the user is 3D video data, the 3D video
렌더러(232)는 3D 영상 데이터(3D 영상 콘텐츠)를 렌더링하고, 렌더링된 3D 영상 데이터(3D 영상 콘텐츠)는 플레이어(player)에 의해 재생된다.The
사용자가 요청한 콘텐츠 타입이 2D 스트림인 경우, 스트림 버퍼 컨트롤러(205)는 응답 컨트롤러(202)를 통해 서버(100)로부터 수신된 미디어 스트림 패킷을 처리하여 인코딩된 2D 비디오 스트림을 생성하고, 이를 디코더(234)로 전달한다.When the content type requested by the user is a 2D stream, the
디코더(234)는 인코딩된 2D 비디오 스트림을 디코딩하여, 2D 비디오 스트림을 생성하고, 2D 비디오 스트림은 플레이어(player)에 의해 재생된다.The
이벤트 컨트롤러(236)는 사용자 인터페이스를 입력된 제어 명령에 따라 콘텐츠를 제어하기 위한 제어 정보를 생성하고, 이를 요청 컨트롤러(201)를 통해 서버(100)로 전송하고, 서버(100)는 제어 정보에 따라 제어된 3D 영상 데이터를 렌더링하고, 그 렌더링된 결과를 다시 스트리밍 방식으로 사용자 단말(200)로 전송한다. 여기서, 제어 정보는 3D 영상을 2D 영상으로 스트리밍하기 위한 캡처 스트림 및 장면 제어와 관련된 정보를 포함할 수 있다.The
도 5은 도 4에 도시된 사용자 단말의 요청 처리 과정을 나타내는 순서도이다.5 is a flowchart illustrating a request processing process of the user terminal shown in FIG. 4 .
도 5를 참조하면, 먼저, 단계 501에서, 사용자 단말(200)이 응답 컨트롤러(202)를 통해 서버(100)로부터 사용자가 원하는 3D 영상 디스크립션 파일을 다운로딩(수신) 한다. Referring to FIG. 5 , first, in
이어, 단계 502에서, 사용자 단말(200) 내의 디스크립션 파일 파서(210)가 다운로딩된(수신된) 3D 영상 디스크립션 파일을 파싱하여 요청 가능한 콘텐츠 타입, 미디어 타입, 콘텐츠 용량, 접속 경로(URL) 등을 확인하고, 사용자가 사용자 인터페이스를 이용하여 사용자 단말 환경(디바이스 환경)에 적합한 콘텐츠를 선택한다. 이후, 사용자 인터페이스는 상기 선택한 콘텐츠를 요청하는 요청 메시지를 생성하고, 이를 요청 컨트롤러(201)를 통해 서버(100)로 전송한다.Next, in
이어, 단계 503에서, 사용자 단말(200)은 자신이 3D 영상 렌더링을 수행(지원)할 수 있는지를 판단(3D 영상 렌더링 기능 또는 렌더러를 탑재하고 있는지를 판단)한다. 3D 영상 렌더링이 가능하면, 단계 504로 진행하고, 불가능하면, 단계 511로 진행한다.Subsequently, in
먼저, 단계 511에서, 3D 영상 렌더링이 불가능하면, 사용자 단말(200)내의 요청 컨트롤러(201)가 2D 영상 스트림을 요청하는 요청 메시지를 서버(100)로 전송한다.First, in step 511, if 3D video rendering is impossible, the
이어, 단계 512에서, 사용자 단말(200) 내의 응답 컨트롤러(202)가 서버(100)로부터 2D 영상 스트림 패킷을 수신한다.Next, in step 512, the
이어, 단계 513에서, 사용자 단말(200) 내의 스트림 버퍼 컨트롤러(205)가 2D 영상 스트림 패킷을 처리하여 2D 영상 스트림을 생성한 후, 사용자 단말(200) 내의 디코더(234)가 상기 생성된 2D 영상 스트림을 디코딩한다.Next, in
이어, 단계 S508에서, 사용자 단말(200) 내의 플레이어가 디코딩된 2D 영상 스트림을 재생한다.Subsequently, in step S508, the player in the
한편, 사용자 단말(200)이 3D 영상 렌더링이 가능하면, 단계 503에서 단계 504로 진행하고, 단계 504에서, 사용자가 원하는 콘텐츠 용량이 저용량 콘텐츠(Low capacity contents)인지 고용량 콘텐츠(High capacity contents)인지를 판단한다. 콘텐츠 용량은 디스크립션 파일을 파싱하여 획득한 목록 정보로부터 확인할 수 있다.Meanwhile, if the
콘텐츠 용량이 저용량 콘텐츠인 경우, 단계 504에서 단계 505로 진행하고, 단계 505에서, 사용자가 사용자 인터페이스를 이용하여 3D 영상 데이터를 요청하는 요청 메시지를 생성하고, 이를 요청 컨트롤러(201)를 통해 서버(100)로 전송한다.If the content capacity is low-capacity content, the process proceeds from
이어, 단계 506에서, 사용자 단말(200) 내의 응답 컨트롤러(202)가 서버(100)로부터 3D 영상 데이터 패킷을 수신하고, 3D 영상 데이터 버퍼 컨트롤러(204)가 3D 영상 데이터 패킷을 처리하여 3D 영상 데이터를 생성한다. Next, in
이어, 단계 507에서, 사용자 단말(200) 내의 렌더러(232)가 3D 영상 데이터를 렌더링한다.Next, in
이어, 단계 508에서, 사용자 단말(200) 내의 플레이어가 렌더링된 3D 영상 데이터를 3D 영상 콘텐츠로서 재생한다.Next, in
한편, 단계 503에서, 사용자 단말(200)이 3D 영상 렌더링이 가능하더라도 콘텐츠 용량과 현재 디바이스의 가용 네트워크 용량에 따라, 3D 영상 데이터가 아니라 2D 영상 스트림 타입이 요청될 수 있다. 즉, 사용자가 원하는 3D 영상 콘텐츠의 용량이 고용량 콘텐츠인 경우, 단계 504에서, 단계 511로 진행하고, 단계 512 및 513을 순차적으로 수행한다.Meanwhile, in
또 한편, 단계 508이후, 단계 509에서 3D 영상 콘텐츠의 재생 중에 사용자가 사용자 인터페이스를 통해 콘텐츠에 대한 제어를 요청하면, 사용자 단말에서 직접 재생중인 영상을 제어 및 렌더링할 수 있다.On the other hand, after
2D 영상 스트림의 재생 중에 사용자가 콘텐츠를 제어하면, 해당 제어정보는 서버(100)에 전달하고, 사용자 단말(200)은 서버(100)로부터 렌더링 된 결과를 스트리밍 받아 재생할 수 있다.When a user controls content during playback of a 2D video stream, the corresponding control information is transmitted to the
이상 설명한 본 발명의 실시 예에 따른 처리 방법들에 포함된 각 단계는 컴퓨터에 의해 실행되는 프로그램으로 구현될 수 있다. 이러한 프로그램은 컴퓨터의 프로세서(CPU, GPU, MCU 등)가 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, Ruby, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. Each step included in the processing methods according to the embodiment of the present invention described above may be implemented as a program executed by a computer. These programs may include codes coded in computer languages such as C, C++, JAVA, Ruby, and machine language that can be read by a computer's processor (CPU, GPU, MCU, etc.) through a device interface of the computer.
이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. These codes may include functional codes related to functions defining necessary functions for executing the methods, and include control codes related to execution procedures necessary for the processor of the computer to execute the functions according to a predetermined procedure. can do.
또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. In addition, these codes may further include memory reference related codes for which location (address address) of the computer's internal or external memory should be referenced for additional information or media required for the computer's processor to execute the functions. there is.
또한, 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.In addition, if the processor of the computer needs to communicate with any other remote computer or server in order to execute the functions, the code is how to communicate with any other remote computer or server using the communication module of the computer. It may further include communication-related codes for what information or media should be transmitted/received during communication.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.The storage medium is not a medium that stores data for a short moment, such as a register, cache, or memory, but a medium that stores data semi-permanently and is readable by a device. Specifically, examples of the storage medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc., but are not limited thereto. That is, the program may be stored in various recording media on various servers accessible by the computer or various recording media on the user's computer. In addition, the medium may be distributed to computer systems connected by a network, and computer readable codes may be stored in a distributed manner.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. As described above, although the embodiments have been described with limited examples and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from the method described, and/or the components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.
Claims (12)
상기 사용자 단말로 디스크립션 파일을 송신하는 단계;
상기 사용자 단말로부터 상기 사용자가 상기 디스크립션 파일을 기반으로 선택한 콘텐츠를 요청하는 요청 메시지를 수신하는 단계;
상기 요청 메시지에 따라, 3D 영상 콘텐츠 또는 2D 영상 스트림 콘텐츠를 생성하는 단계; 및
상기 생성된 3D 영상 콘텐츠 또는 2D 영상 스트림 콘텐츠를 상기 사용자 단말로 송신하는 단계;
를 포함하는 3차원 영상 서비스를 제공하기 위한 방법.A method of providing a three-dimensional (3D) image service in a server that performs socket communication with a user's user terminal,
transmitting a description file to the user terminal;
Receiving a request message requesting content selected by the user based on the description file from the user terminal;
generating 3D video content or 2D video stream content according to the request message; and
transmitting the generated 3D video content or 2D video stream content to the user terminal;
Method for providing a 3D image service comprising a.
상기 디스크립션 파일은,
상기 서버에서 서비스 가능한 콘텐츠 타입, 미디어 타입, 콘텐츠 용량 및 접속 경로(URL)와 관련된 정보를 XML 기반으로 명시한 파일 정보인 것인 3차원 영상 서비스를 제공하기 위한 방법.In paragraph 1,
The description file,
The method for providing a 3D video service, which is file information specifying information related to a content type, media type, content capacity, and access path (URL) serviceable by the server based on XML.
상기 생성하는 단계는,
상기 요청 메시지에 따라, 사용자 요청이 3D 영상 콘텐츠 요청인지 2D 영상 스트림 콘텐츠 요청인지를 체크하는 단계;
상기 사용자 요청이 3D 영상 콘텐츠 요청인 경우, 상기 3D 영상 콘텐츠를 생성하는 단계; 및
상기 사용자 요청이 상기 2D 영상 스트림 콘텐츠 요청인 경우, 상기 2D 영상 스트림 콘텐츠를 생성하는 단계
를 포함하는 3차원 영상 서비스를 제공하기 위한 방법.In paragraph 1,
The generating step is
checking whether a user request is a 3D video content request or a 2D video stream content request according to the request message;
generating the 3D video contents when the user request is a request for 3D video contents; and
generating the 2D video stream contents when the user request is the 2D video stream contents request;
Method for providing a 3D image service comprising a.
상기 3D 영상 콘텐츠를 생성하는 단계는,
3D 영상 데이터베이스로부터 상기 3D 영상 콘텐츠에 대응하는 3D 영상 데이터를 획득하는 단계; 및
상기 획득한 3D 영상 데이터를 처리하여, 3D 영상 데이터 패킷을 상기 3D 영상 콘텐츠로서 생성하는 단계;
를 포함하는 3차원 영상 서비스를 제공하기 위한 방법.In paragraph 3,
The step of generating the 3D video content,
obtaining 3D image data corresponding to the 3D image content from a 3D image database; and
generating a 3D image data packet as the 3D image contents by processing the acquired 3D image data;
Method for providing a 3D image service comprising a.
상기 2D 영상 스트림 콘텐츠를 생성하는 단계는,
3D 영상 데이터베이스로부터 상기 3D 영상 콘텐츠에 대응하는 3D 영상 데이터를 획득하는 단계;
상기 3D 영상 데이터를 렌더링하는 단계;
상기 렌더링된 3D 영상 데이터를 인코딩하여 2D 영상 스트림을 생성하는 단계; 및
상기 생성된 2D 영상 스트림을 처리하여 생성된 2D 영상 스트림 패킷을 상기 2D 영상 스트림 콘텐츠로서 생성하는 단계
를 포함하는 3차원 영상 서비스를 제공하기 위한 방법.In paragraph 3,
The step of generating the 2D video stream contents,
obtaining 3D image data corresponding to the 3D image content from a 3D image database;
rendering the 3D image data;
generating a 2D video stream by encoding the rendered 3D video data; and
generating a 2D video stream packet generated by processing the generated 2D video stream as the 2D video stream contents;
Method for providing a 3D image service comprising a.
서버로부터 디스크립션 파일을 다운로딩 하는 단계;
상기 디스크립션 파일을 기반으로 선택된 콘텐츠를 요청하는 요청 메시지를 상기 서버로 송신하는 단계;
상기 요청 메시지에 따라, 상기 서버로부터 3D 영상 데이터 또는 2D 영상 스트림을 수신하는 단계; 및
상기 3D 영상 데이터 또는 2D 영상 스트림을 재생하는 단계
를 포함하는 3차원 영상 서비스를 제공하기 위한 방법.A method of providing a three-dimensional (3D) image service in a user terminal performing socket communication with a server,
Downloading a description file from a server;
transmitting a request message requesting content selected based on the description file to the server;
receiving 3D video data or 2D video stream from the server according to the request message; and
Reproducing the 3D video data or 2D video stream
Method for providing a 3D image service comprising a.
상기 디스크립션 파일은,
콘텐츠 타입, 미디어 타입, 콘텐츠 용량 및 접속 경로(URL)와 관련된 XML 기반의 명시된 파일 정보인 것인 3차원 영상 서비스를 제공하기 위한 방법.In paragraph 6,
The description file,
A method for providing a 3D video service that is XML-based specified file information related to content type, media type, content capacity, and access path (URL).
상기 요청 메시지를 상기 서버로 송신하는 단계는,
상기 디스크립션 파일을 기반으로 선택된 콘텐츠가 저용량 콘텐츠인 경우, 3D 영상 데이터를 요청하는 상기 요청 메시지를 상기 서버로 송신하는 단계; 및
상기 디스크립션 파일을 기반으로 선택된 콘텐츠가 고용량 콘텐츠인 경우, 2D 영상 스트림을 요청하는 상기 요청 메시지를 상기 서버로 송신하는 단계
를 포함하는 3차원 영상 서비스를 제공하기 위한 방법.In paragraph 6,
Sending the request message to the server,
transmitting the request message for requesting 3D image data to the server when content selected based on the description file is low-capacity content; and
Transmitting the request message requesting a 2D video stream to the server when the content selected based on the description file is high-capacity content
Method for providing a 3D image service comprising a.
상기 요청 메시지를 상기 서버로 송신하는 단계는,
상기 사용자 단말이 3D 영상 렌더링을 지원하고, 상기 디스크립션 파일을 기반으로 선택된 콘텐츠가 저용량 콘텐츠인 경우, 3D 영상 데이터를 요청하는 상기 요청 메시지를 상기 서버로 송신하는 단계; 및
상기 사용자 단말이 상기 3D 영상 렌더링을 지원하고, 상기 디스크립션 파일을 기반으로 선택된 콘텐츠가 고용량 콘텐츠인 경우, 2D 영상 스트림을 요청하는 상기 요청 메시지를 상기 서버로 송신하는 단계
를 포함하는 3차원 영상 서비스를 제공하기 위한 방법.In paragraph 6,
Sending the request message to the server,
transmitting the request message requesting 3D image data to the server when the user terminal supports 3D image rendering and the content selected based on the description file is low-capacity content; and
Transmitting the request message requesting a 2D video stream to the server when the user terminal supports the 3D video rendering and the content selected based on the description file is high-capacity content.
Method for providing a 3D image service comprising a.
상기 요청 메시지를 상기 서버로 송신하는 단계는,
상기 사용자 단말이 3D 영상 렌더링을 지원하지 않는 경우, 2D 영상 스트림을 요청하는 상기 요청 메시지를 상기 서버로 송신하는 단계인 것인 3차원 영상 서비스를 제공하기 위한 방법. In paragraph 6,
Sending the request message to the server,
and transmitting the request message requesting a 2D video stream to the server when the user terminal does not support 3D video rendering.
상기 재생하는 단계는,
상기 3D 영상 데이터를 렌더링하는 단계; 및
상기 렌더링된 3D 영상 데이터를 재생하는 단계
를 포함하는 3차원 영상 서비스를 제공하기 위한 방법.In paragraph 6,
In the regeneration step,
rendering the 3D image data; and
Reproducing the rendered 3D image data
Method for providing a 3D image service comprising a.
상기 재생하는 단계는,
상기 2D 영상 스트림을 디코딩하는 단계; 및
상기 디코딩된 상기 2D 영상 스트림을 재생하는 단계
를 포함하는 3차원 영상 서비스를 제공하기 위한 방법.In paragraph 6,
In the regeneration step,
decoding the 2D video stream; and
Reproducing the decoded 2D video stream
Method for providing a 3D image service comprising a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210166091A KR102602941B1 (en) | 2021-11-26 | 2021-11-26 | Method for providing 3D image service using hybrid transmission system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210166091A KR102602941B1 (en) | 2021-11-26 | 2021-11-26 | Method for providing 3D image service using hybrid transmission system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230078369A true KR20230078369A (en) | 2023-06-02 |
KR102602941B1 KR102602941B1 (en) | 2023-11-17 |
Family
ID=86755560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210166091A KR102602941B1 (en) | 2021-11-26 | 2021-11-26 | Method for providing 3D image service using hybrid transmission system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102602941B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010131316A1 (en) * | 2009-05-14 | 2010-11-18 | パナソニック株式会社 | Method of transmitting video data |
KR20130055052A (en) * | 2011-11-16 | 2013-05-28 | 엘지전자 주식회사 | Media apparatus, contents server, and method for operating the same |
KR101754700B1 (en) * | 2016-05-17 | 2017-07-19 | 주식회사 카이 | OTT service system and method for changing video mode based on 2D video and VR video |
-
2021
- 2021-11-26 KR KR1020210166091A patent/KR102602941B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010131316A1 (en) * | 2009-05-14 | 2010-11-18 | パナソニック株式会社 | Method of transmitting video data |
KR20130055052A (en) * | 2011-11-16 | 2013-05-28 | 엘지전자 주식회사 | Media apparatus, contents server, and method for operating the same |
KR101754700B1 (en) * | 2016-05-17 | 2017-07-19 | 주식회사 카이 | OTT service system and method for changing video mode based on 2D video and VR video |
Also Published As
Publication number | Publication date |
---|---|
KR102602941B1 (en) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2711591C1 (en) | Method, apparatus and computer program for adaptive streaming of virtual reality multimedia content | |
RU2744969C1 (en) | Method and device for effective delivery and use of audio communications for high quality of perception | |
KR101467430B1 (en) | Method and system for providing application based on cloud computing | |
US20140331138A1 (en) | Sending application input commands over a network | |
US10965969B2 (en) | Method and apparatus for playing online television program | |
JP7431329B2 (en) | Video processing methods, apparatus, computer devices and computer programs | |
CN112219403B (en) | Rendering perspective metrics for immersive media | |
US20200351525A1 (en) | Communication apparatus, communication method, and computer-readable storage medium | |
CN113141522B (en) | Resource transmission method, device, computer equipment and storage medium | |
CN112354177A (en) | Webrtc-based cloud game instant starting method, device and system | |
CN111669645B (en) | Video playing method and device, electronic equipment and storage medium | |
KR20190121280A (en) | Electronic device supporting for Live Streaming Service of Virtual Contents based on Tiled Encoding image | |
CN114040232A (en) | Screen projection system, method, electronic device and storage medium | |
CN111263191B (en) | Video data processing method and device, related equipment and storage medium | |
KR102602941B1 (en) | Method for providing 3D image service using hybrid transmission system | |
WO2022116822A1 (en) | Data processing method and apparatus for immersive media, and computer-readable storage medium | |
CN107534792B (en) | Receiving apparatus, transmitting apparatus, and data processing method | |
CN112887786B (en) | Video playing method and device and computer readable medium | |
KR102359367B1 (en) | Method and apparatus for game streaming | |
Prasad et al. | Social educational streaming platform using HTML live streaming | |
CN113364728B (en) | Media content receiving method, device, storage medium and computer equipment | |
CN114697693B (en) | Data processing method and device, storage medium and electronic equipment | |
WO2018178748A1 (en) | Terminal-to-mobile-device system, where a terminal is controlled through a mobile device, and terminal remote control method | |
Seligmann | SmmmmS lient for Remote Rendered irtual Heality | |
KR20060044504A (en) | Playback system and method during multimedia file download |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20211126 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20230516 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20231109 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20231113 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20231114 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |