KR102842494B1 - The method for streaming a video and the electronic device supporting same - Google Patents
The method for streaming a video and the electronic device supporting sameInfo
- Publication number
- KR102842494B1 KR102842494B1 KR1020200025583A KR20200025583A KR102842494B1 KR 102842494 B1 KR102842494 B1 KR 102842494B1 KR 1020200025583 A KR1020200025583 A KR 1020200025583A KR 20200025583 A KR20200025583 A KR 20200025583A KR 102842494 B1 KR102842494 B1 KR 102842494B1
- Authority
- KR
- South Korea
- Prior art keywords
- sub
- tracks
- track
- image
- time
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
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/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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/44029—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display for generating different versions
-
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
-
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/21805—Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
-
- 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
-
- 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440281—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
본 문서에 개시되는 일 실시예에 따른 전자 장치는 외부 장치에 영상을 전송하고, 통신 회로, 복수의 시점에 대응하는 복수의 영상들을 저장하는 메모리, 및 프로세서를 포함하고, 상기 복수의 영상들 각각은 복수의 서브 트랙들로 구성되고, 상기 복수의 서브 트랙들 각각은 연속적인 프레임들로 구성되고, 상기 프레임들 각각은 제1 타입 프레임 또는 제2 타입 프레임 중 하나의 속성을 가지고, 상기 복수의 서브 트랙들은 전체 프레임 중 상기 제1 타입 프레임의 비율이 서로 다르고, 상기 프로세서는 상기 복수의 영상들 중 제1 시점에 대한 제1 영상의 복수의 서브 트랙들 중 하나를 상기 외부 장치에 전송하고, 상기 통신 회로를 통해, 상기 외부 장치로부터 시점 전환에 관한 요청을 수신하고, 제1 시간에, 상기 요청에 대응하는 제2 시점에 대한 제2 영상의 복수의 서브 트랙들 중 상기 제1 타입 프레임을 포함하는 제1 서브 트랙을 상기 외부 장치에 전송할 수 있다. 이 외에도 명세서를 통해 파악되는 다양한 실시예가 가능하다.An electronic device according to one embodiment disclosed in the present document transmits an image to an external device, and includes a communication circuit, a memory for storing a plurality of images corresponding to a plurality of viewpoints, and a processor, wherein each of the plurality of images is composed of a plurality of sub-tracks, each of the plurality of sub-tracks is composed of consecutive frames, each of the frames has an attribute of one of a first type frame or a second type frame, and the plurality of sub-tracks have different proportions of the first type frames among the entire frames, and the processor transmits one of the plurality of sub-tracks of a first image for a first viewpoint among the plurality of images to the external device, receives a request for a viewpoint change from the external device through the communication circuit, and transmits, at a first time, a first sub-track including the first type frame among the plurality of sub-tracks of a second image for a second viewpoint corresponding to the request to the external device. In addition to these, various embodiments that can be understood through the specification are possible.
Description
본 문서의 다양한 실시 예는 영상을 스트리밍하는 방법 및 이를 지원하는 전자 장치에 관한 것이다.Various embodiments of this document relate to a method for streaming video and an electronic device supporting the same.
복수의 카메라들을 이용하여 동시에 촬영된 다시점 영상을 사용자의 단말 장치에 제공하는 영상 서비스가 이용되고 있다. 서버에서 단말 장치로 하나의 시점에 대응하는 영상을 스트리밍하는 과정 중, 단말 장치에서 시점을 전환하도록 하는 요청이 발생하는 경우, 서버는 상기 요청에 대응하여 다른 시점의 영상을 스트리밍할 수 있다. 예를 들어, 야구장에서 복수의 카메라를 이용하여 각각 영상이 촬영되고, 하나의 영상(예: 1루측 촬영 영상)이 스트리밍 방식에 의해 사용자의 단말 장치(예: 스마트폰, 태블릿 PC, 랩탑 PC)를 통해 표시될 수 있다. 사용자가 시점을 전환하는 입력을 발생시키는 경우, 다른 각도에서 촬영된 영상(예: 3루측 촬영 영상)이 스트리밍될 수 있다.A video service is being used that provides a user's terminal device with multi-view video captured simultaneously using multiple cameras. When streaming video corresponding to a single viewpoint from a server to a terminal device, if a request to switch viewpoints occurs on the terminal device, the server can stream video from a different viewpoint in response to the request. For example, at a baseball stadium, videos are captured using multiple cameras, and one video (e.g., video captured from the first base side) can be streamed to the user's terminal device (e.g., smartphone, tablet PC, laptop PC). If the user generates an input to switch viewpoints, a video captured from a different angle (e.g., video captured from the third base side) can be streamed.
종래의 기술에 의한 다시점 영상의 전송 방법은, i) 다른 시점의 영상을 동시 수신 하는 방식, ii) 스위칭 프레임을 추가 생성하는 방식, iii) 계층적 구조로 2개의 스트림을 전달하는 방식, iv) 시점 전환용 추가 영상을 전달하는 방식 등이 이용되고 있다. 상기 방식들은 네트워크 대역폭의 증가가 요구되거나, 추가적인 프레임 생성으로 인해, 인코딩 자원 및 비용이 증가할 수 있다.Conventional methods for transmitting multi-viewpoint images include: i) a method of simultaneously receiving images from different viewpoints, ii) a method of additionally generating switching frames, iii) a method of transmitting two streams in a hierarchical structure, and iv) a method of transmitting additional images for viewpoint switching. The above methods may require an increase in network bandwidth or, due to the generation of additional frames, may increase encoding resources and costs.
본 문서의 다양한 실시예에 따른 서버 장치는 하나의 시점에 대해 서로 다른 프레임 구조를 가지는 서브 트랙들을 이용하여, 스트리밍에 필요한 네트워크 대역폭을 줄일 수 있다. A server device according to various embodiments of this document can reduce network bandwidth required for streaming by using sub-tracks having different frame structures for one point in time.
전자 장치는 외부 장치에 영상을 전송하고, 통신 회로, 복수의 시점에 대응하는 복수의 영상들을 저장하는 메모리, 및 프로세서를 포함하고, 상기 복수의 영상들 각각은 복수의 서브 트랙들로 구성되고, 상기 복수의 서브 트랙들 각각은 연속적인 프레임들로 구성되고, 상기 프레임들 각각은 제1 타입 프레임 또는 제2 타입 프레임 중 하나의 속성을 가지고, 상기 복수의 서브 트랙들은 전체 프레임 중 상기 제1 타입 프레임의 비율이 서로 다르고, 상기 프로세서는 상기 복수의 영상들 중 제1 시점에 대한 제1 영상의 복수의 서브 트랙들 중 하나를 상기 외부 장치에 전송하고, 상기 통신 회로를 통해, 상기 외부 장치로부터 시점 전환에 관한 요청을 수신하고, 제1 시간에, 상기 요청에 대응하는 제2 시점에 대한 제2 영상의 복수의 서브 트랙들 중 상기 제1 타입 프레임을 포함하는 제1 서브 트랙을 상기 외부 장치에 전송할 수 있다. An electronic device transmits an image to an external device, and includes a communication circuit, a memory for storing a plurality of images corresponding to a plurality of viewpoints, and a processor, wherein each of the plurality of images is composed of a plurality of sub-tracks, each of the plurality of sub-tracks is composed of consecutive frames, each of the frames has an attribute of one of a first type frame or a second type frame, and the plurality of sub-tracks have different ratios of the first type frames among the entire frames, and the processor transmits one of the plurality of sub-tracks of a first image for a first viewpoint among the plurality of images to the external device, receives a request for a viewpoint change from the external device through the communication circuit, and transmits, at a first time, a first sub-track including the first type frame among the plurality of sub-tracks of a second image for a second viewpoint corresponding to the request to the external device.
본 문서에 개시되는 다양한 실시예들에 따른 전자 장치는 서로 다른 프레임 구조를 가지는 서브 트랙들을 이용하여, 다시점 비디오 서비스에서 영상 재생에 사용되는 네트워크 대역폭을 감소시킬 수 있다.An electronic device according to various embodiments disclosed in this document can reduce network bandwidth used for video playback in a replay video service by using sub-tracks having different frame structures.
본 문서에 개시되는 다양한 실시예들에 따른 전자 장치는 서로 다른 프레임 구조를 가지는 서브 트랙들을 이용하여, 사용자의 시점 전환 요청에 대한 반응 시간을 줄일 수 있다. An electronic device according to various embodiments disclosed in this document can reduce a response time to a user's viewpoint change request by using sub-tracks having different frame structures.
도 1은 다양 실시 예에 따른 영상 스트리밍 시스템을 나타낸다.
도 2는 일 실시예에 따른 스트리밍 서버를 나타낸다.
도 3은 다양한 실시예에 따른 복수의 서브 트랙들의 저장 및 선택 동작을 나타낸다.
도 4는 다양한 실시예에 따른 스트리밍 서버에서 수행되는 영상 스트리밍 방법을 나타낸다.
도 5는 다양한 실시예에 따른 시간에 따른 프레임 구조의 동적 변경을 나타낸다.
도 6은 다양한 실시예에 따른 프레임 구조 정보의 전송을 통한 영상 스트리밍 방법을 나타낸다.
도 7은 다양한 실시 예들에 따른 네트워크 환경 내의 전자 장치의 블록도 이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.Figure 1 illustrates a video streaming system according to various embodiments.
Figure 2 illustrates a streaming server according to one embodiment.
FIG. 3 illustrates the storage and selection operations of multiple sub-tracks according to various embodiments.
FIG. 4 illustrates a video streaming method performed in a streaming server according to various embodiments.
Figure 5 illustrates dynamic changes in frame structure over time according to various embodiments.
FIG. 6 illustrates a video streaming method through transmission of frame structure information according to various embodiments.
FIG. 7 is a block diagram of an electronic device within a network environment according to various embodiments.
In connection with the description of the drawings, the same or similar reference numerals may be used for identical or similar components.
이하, 본 문서의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.Hereinafter, various embodiments of this document will be described with reference to the attached drawings. However, this is not intended to limit the technology described in this document to specific embodiments, and it should be understood that various modifications, equivalents, and/or alternatives of the embodiments of this document are included. In connection with the description of the drawings, similar reference numerals may be used for similar components.
도 1은 다양 실시 예에 따른 영상 스트리밍 시스템을 나타낸다. Figure 1 illustrates a video streaming system according to various embodiments.
도 1을 참조하면, 영상 스트리밍 시스템(100)은 소스 장치(110), 스트리밍 서버(120) 및 단말 장치(130)을 포함할 수 있다. 영상 스트리밍 시스템(100)은 도 1의 구성들 사이에 다른 장치들을 포함할 수 있다. 예를 들어, 소스 장치(110)와 스트리밍 서버(120) 사이에 별도의 연계 서버가 포함될 수 있다. 다른 예를 들어, 스트리밍 서버(120)와 단말 장치(130) 사이에 별도의 중계 장치(예: 데스크탑 PC)가 포함될 수 있다.Referring to FIG. 1, a video streaming system (100) may include a source device (110), a streaming server (120), and a terminal device (130). The video streaming system (100) may include other devices between the components of FIG. 1. For example, a separate link server may be included between the source device (110) and the streaming server (120). As another example, a separate relay device (e.g., a desktop PC) may be included between the streaming server (120) and the terminal device (130).
다양한 실시 예에 따르면, 소스(source) 장치(110)는 다시점 영상을 수집하거나 저장할 수 있다. 예를 들어, 소스 장치(110)는 영상을 촬영할 수 있는 카메라 장치, 카메라 장치를 통해 촬영된 영상을 저장할 수 있는 저장 장치, 또는 복수의 영상 처리 장치들(예: 복수개의 스마트폰들)일 수 있다. 일 실시예에서, 다시점 영상은 동일 객체를 다양한 각도에서 촬영한 영상이거나, 동일 또는 인접한 공간내에서 다양한 방향으로 촬영된 영상일 수 있다. 예를 들어, 다시점 영상은 야구장 내에 복수의 카메라들을 다양한 각도로 설치하고 촬영된 영상일 수 있다. 각각의 카메라에서 촬영된 영상들은 촬영 시간에 따라 서로 연계되어 저장되거나, 네트워크를 통해 스트리밍 될 수 있다. According to various embodiments, the source device (110) can collect or store multi-view images. For example, the source device (110) may be a camera device capable of capturing images, a storage device capable of storing images captured by the camera device, or multiple image processing devices (e.g., multiple smartphones). In one embodiment, the multi-view images may be images captured from various angles of the same object, or images captured from various directions within the same or adjacent space. For example, the multi-view images may be images captured by installing multiple cameras at various angles within a baseball field. The images captured by each camera may be linked and stored according to the capture time, or may be streamed through a network.
다양한 실시 예에 따르면, 스트리밍 서버(120)(예: 도 7의 서버 (708))는 소스 장치(110)으로부터 영상을 수신할 수 있다. 스트리밍 서버(120)는 수신한 영상을 단말 장치(130)에 스트리밍할 수 있다. 스트리밍 서버(120)는 영상 소스 장치(110)으로부터 실시간 영상을 수신하거나, 저장된 영상(예: VOD(video on demand) 영상)을 수신할 수 있다. According to various embodiments, a streaming server (120) (e.g., server (708) of FIG. 7) may receive video from a source device (110). The streaming server (120) may stream the received video to a terminal device (130). The streaming server (120) may receive real-time video from the video source device (110) or may receive stored video (e.g., video on demand (VOD) video).
일 실시예에서, 스트리밍 서버(120)는 소스 장치(110)으로부터 다시점 영상을 수신할 수 있다. 다시점 영상은 동일 객체를 다양한 각도에서 촬영한 영상이거나, 동일 또는 인접한 공간내에서 다양한 방향으로 촬영된 영상일 수 있다. 예를 들어, 스트리밍 서버(120)는 N개 시점에 대응하는 영상(또는 영상 소스)들을 N개의 트랙으로 매핑하여 수신할 수 있다. In one embodiment, the streaming server (120) can receive multi-view images from the source device (110). Multi-view images can be images of the same object captured from various angles, or images captured from various directions within the same or adjacent space. For example, the streaming server (120) can receive images (or image sources) corresponding to N viewpoints by mapping them into N tracks.
다양한 실시예에 따르면, 스트리밍 서버(120)는 수신한 다시점 영상을 각각의 시점에 대응하는 영상(이하, 시점 영상)을 서로 다른 GOP 구조를 가지는 복수의 서브 트랙들(또는 복수의 서브 영상들)로 변환할 수 있다. 예를 들어, 제1 시점에 대한 제1 시점 영상을 서로 다른 GOP 구조를 가지는 복수의 서브 트랙들로 변환할 수 있다. 각각의 서브 트랙은 디코딩 되는 경우, 제1 시점 영상과 동일한 영상으로 복원될 수 있다.According to various embodiments, the streaming server (120) may convert the received multi-view video into a plurality of sub-tracks (or a plurality of sub-videos) corresponding to each viewpoint (hereinafter, “viewpoint video”) having different GOP structures. For example, the first viewpoint video for the first viewpoint may be converted into a plurality of sub-tracks having different GOP structures. When each sub-track is decoded, it may be restored into an identical video as the first viewpoint video.
다양한 실시 예에 따르면, 스트리밍 서버(120)는 수신한 다시점 영상을 단말 장치(130)에 전송할 수 있다. 스트리밍 서버(120)는 단말 장치(130)에서 요청하는 시점 영상을 스트리밍할 수 있다. 예를 들어, 스트리밍 서버(120)는 단말 장치(130)의 요청에 따라 제5 시점에 대응하는 제5 시점 영상(또는 제5 트랙)을 단말 장치(130)에 스트리밍할 수 있다.According to various embodiments, the streaming server (120) may transmit the received multi-view video to the terminal device (130). The streaming server (120) may stream the video of a point in time requested by the terminal device (130). For example, the streaming server (120) may stream the fifth view video (or fifth track) corresponding to the fifth view point to the terminal device (130) upon the request of the terminal device (130).
다양한 실시 예에 따르면, 스트리밍 서버(120)는 하나의 시점 영상을 스트리밍하는 중, 단말 장치(130)로부터 다른 시점 영상을 스트리밍하도록 하는 요청(이하, 시점 전환 요청)을 수신하는 경우, 시점 전환 요청에 대응하는 시점 영상을 스트리밍할 수 있다. 예를 들어, 스트리밍 서버(120)는 제17 시점 영상을 단말 장치(130)에 스트리밍하는 중, 단말 장치(130)로부터 제5 시점으로 변경하도록 하는 시점 전환 요청을 수신할 수 있다. 스트리밍 서버(120)는 시점 전환 요청에 대응하여 제5 시점 영상을 단말 장치(130)에 스트리밍할 수 있다.According to various embodiments, when the streaming server (120) receives a request to stream a different viewpoint video (hereinafter, a viewpoint change request) from the terminal device (130) while streaming a viewpoint video, the streaming server (120) may stream a viewpoint video corresponding to the viewpoint change request. For example, the streaming server (120) may receive a viewpoint change request from the terminal device (130) to change to a fifth viewpoint while streaming a 17th viewpoint video to the terminal device (130). The streaming server (120) may stream the fifth viewpoint video to the terminal device (130) in response to the viewpoint change request.
다양한 실시 예에 따르면, 스트리밍 서버(120)는 단말 장치(130)가 복수개인 경우, 복수개의 단말 장치(130)에 스트리밍 영상을 제공할 수 있다. 이 경우, 한정된 네트워크 리소스(예: 대역폭)를 이용하여 스트리밍 서비스를 제공해야 하기 때문에, 스트리밍 서버(120)는 스트리밍 데이터를 효율적으로 전송할 필요가 있다. 또한, 스트리밍 서버(120)는 사용자의 서비스 품질 요구를 만족시키기 위하여, 단말 장치(130)가 요청하는 시점 변경 요청에 빠르게 반응하여, 각각의 단말 장치(130)가 요청하는 시점 영상을 빠르게 전송할 필요가 있다. 스트리밍 서버(120)는 하나의 시점 영상에 대해 서로 다른 프레임 구조를 가지는 복수의 서브 트랙들을 이용하여, 네트워크 리소스(예: 대역폭)를 효율적으로 운용할 수 있고, 단말 장치(130)의 시점 변경 요구에 빠르게 반응할 수 있다. According to various embodiments, when there are multiple terminal devices (130), the streaming server (120) can provide streaming video to multiple terminal devices (130). In this case, since the streaming service must be provided using limited network resources (e.g., bandwidth), the streaming server (120) needs to efficiently transmit streaming data. In addition, in order to satisfy the user's service quality requirements, the streaming server (120) needs to quickly respond to a viewpoint change request requested by the terminal device (130) and quickly transmit the viewpoint video requested by each terminal device (130). The streaming server (120) can efficiently operate network resources (e.g., bandwidth) and quickly respond to a viewpoint change request from the terminal device (130) by using multiple sub-tracks having different frame structures for one viewpoint video.
다양한 실시예에 따르면, 스트리밍 서버(120)는 프로세서(150), 메모리(160) 및 통신 회로(190)를 포함할 수 있다. According to various embodiments, the streaming server (120) may include a processor (150), memory (160), and communication circuitry (190).
프로세서(150)는 스트리밍 서버(120)의 동작에 필요한 다양한 연산을 수행할 수 있다. 프로세서(150)는 통신 회로(190)을 통해 소스 장치(110)으로부터 다시점 영상을 수신할 수 있다. 프로세서(150)는 수신한 다시점 영상을 구성하는 복수개의 시점 영상들 중 단말 장치(130)가 요청하는 시점 영상을 전송할 수 있다. The processor (150) can perform various operations required for the operation of the streaming server (120). The processor (150) can receive a multi-view image from the source device (110) via the communication circuit (190). The processor (150) can transmit a viewpoint image requested by the terminal device (130) among the multiple viewpoint images constituting the received multi-viewpoint image.
다양한 실시예에 따르면, 프로세서(150)는 통신 회로(190)을 통해 다시점 영상 중 하나의 시점 영상을 단말 장치(130)에 전송할 수 있다. 예를 들어, 스트리밍 서버(120)는 단말 장치(130)의 요청에 따라 제5 시점에 대응하는 제5 시점 영상(또는 제5 트랙)을 단말 장치(130)에 스트리밍할 수 있다.According to various embodiments, the processor (150) may transmit one point-of-view image among the replay images to the terminal device (130) via the communication circuit (190). For example, the streaming server (120) may stream a fifth point-of-view image (or a fifth track) corresponding to a fifth point-of-view to the terminal device (130) at the request of the terminal device (130).
다양한 실시예에 따르면, 프로세서(150)는 스트리밍 서버(120)는 단말 장치(130)의 시점 전환 요청에 대응하여, 스트리밍되는 시점 영상을 변경할 수 있다. 예를 들어, 프로세서(150)는 제17 시점 영상을 단말 장치(130)에 스트리밍하는 중, 단말 장치(130)로부터 제5 시점으로 변경하도록 하는 시점 전환 요청을 수신할 수 있다. 프로세서(150)는 시점 전환 요청에 대응하여 제5 시점 영상을 단말 장치(130)에 스트리밍할 수 있다.According to various embodiments, the processor (150) may change the streamed viewpoint video in response to a viewpoint change request from the terminal device (130). For example, while streaming a 17th viewpoint video to the terminal device (130), the processor (150) may receive a viewpoint change request from the terminal device (130) to change to a 5th viewpoint. In response to the viewpoint change request, the processor (150) may stream the 5th viewpoint video to the terminal device (130).
다양한 실시예에 따르면, 프로세서(150)는 하나의 시점 영상에 대해 서로 다른 프레임 구조를 가지는 복수의 서브 트랙들(또는 복수의 서브 영상들)을 저장할 수 있다. According to various embodiments, the processor (150) can store a plurality of sub-tracks (or a plurality of sub-images) having different frame structures for one viewpoint image.
일 실시예에서, 하나의 시점 영상에 대한 복수의 서브 트랙들은 서로 다른 GOP(group of pictures) 구조를 가질 수 있다. 하나의 시점 영상을 구성하는 복수의 서브 트랙들은 서로 다른 I-프레임 비율을 가질 수 있다. 예를 들어, 하나의 시점 영상이 제1 내지 제3 서브 트랙들로 구성되는 경우, 제1 서브 트랙은 모든 프레임이 I-프레임으로 구성될 수 있다. 제2 서브 트랙은 전체 프레임 중 1/4의 I-프레임 비율을 가질 수 있고, 3/4의 P-프레임 비율을 가질 수 있다. 제3 서브 트랙은 전체 프레임 중 1/8의 I-프레임 비율을 가질 수 있고, 7/8의 P-프레임 비율을 가질 수 있다.In one embodiment, multiple sub-tracks for a single viewpoint image may have different GOP (group of pictures) structures. Multiple sub-tracks constituting a single viewpoint image may have different I-frame ratios. For example, if a single viewpoint image is composed of first to third sub-tracks, the first sub-track may have all frames composed of I-frames. The second sub-track may have an I-frame ratio of 1/4 of the total frames and a P-frame ratio of 3/4. The third sub-track may have an I-frame ratio of 1/8 of the total frames and a P-frame ratio of 7/8.
다양한 실시예에 따르면, 프로세서(150)는 네트워크 상황, 단말 장치(130)의 개수와 같은 다양한 조건을 확인하여, 복수의 서브 트랙들 중 하나의 서브 트랙을 선택하여 단말 장치(130)에 전송할 수 있다.According to various embodiments, the processor (150) may check various conditions such as network conditions and the number of terminal devices (130) to select one sub-track among a plurality of sub-tracks and transmit it to the terminal device (130).
다양한 실시예에 따르면, 메모리(160)는 스트리밍 서버(120)의 동작에 필요한 다양한 정보를 저장할 수 있다. 일 실시예에 따르면, 메모리(160)는 입력 버퍼(170) 및 출력 버퍼(180)를 포함할 수 있다. 입력 버퍼(170) 및 출력 버퍼(180)는 물리적 또는 논리적 주소로 구분되도록 설정되거나, 각각 다른 저장 소자로 구현될 수 있다. 입력 버퍼(170)는 다시점 영상을 저장할 수 있다. 입력 버퍼(170)는 각각의 시점 영상에 대해 복수의 서브 트랙들을 저장할 수 있다. 복수의 서브 트랙들은 서로 다른 프레임 구조를 가질 수 있고, 디코딩되는 경우 동일한 품질을 가지는 영상으로 변환될 수 있다. 출력 버퍼(180)는 단말 장치(130)로 전송될 영상을 저장할 수 있다. 출력 버퍼(180)는 프로세서(150)의 스위칭에 의해 시점 영상(또는 시점 영상을 구성하는 복수의 서브 트랙들 중 선택된 서브 트랙)을 일시적으로 저장할 수 있다.According to various embodiments, the memory (160) can store various information required for the operation of the streaming server (120). According to one embodiment, the memory (160) can include an input buffer (170) and an output buffer (180). The input buffer (170) and the output buffer (180) can be configured to be distinguished by physical or logical addresses, or can be implemented as different storage devices. The input buffer (170) can store multi-view images. The input buffer (170) can store a plurality of sub-tracks for each view image. The plurality of sub-tracks can have different frame structures, and can be converted into images having the same quality when decoded. The output buffer (180) can store images to be transmitted to the terminal device (130). The output buffer (180) can temporarily store a view image (or a sub-track selected from among a plurality of sub-tracks constituting a view image) by switching of the processor (150).
다양한 실시예에 따르면, 통신 회로(190)는 외부 장치(예: 소스 장치(110), 단말 장치(130))와 무선 통신 또는 유선 통신을 통해 데이터를 송수신할 수 있다. 통신 회로(190)는 소스 장치(110)으로부터 시점 영상을 수신하여 입력 버퍼(170)에 저장되도록 전달할 수 있다. 또는 통신 회로(190)는 출력 버퍼(180)에 저장된 영상을 단말 장치(130)에 전송할 수 있다.According to various embodiments, the communication circuit (190) may transmit and receive data with an external device (e.g., a source device (110), a terminal device (130)) via wireless or wired communication. The communication circuit (190) may receive a point-of-view image from the source device (110) and transmit it to be stored in the input buffer (170). Alternatively, the communication circuit (190) may transmit an image stored in the output buffer (180) to the terminal device (130).
다양한 실시예에 따르면, 단말 장치(130)(예: 도 7의 전자 장치(701))는 네트워크를 통해 하나의 시점 영상에 관한 데이터를 수신하여 디스플레이를 통해 표시할 수 있다. 단말 장치(130)는 복수개일 수 있고, 스트리밍 서버(120)로부터 각각의 사용자가 원하는 시점 영상을 수신하여 출력할 수 있다. 단말 장치(130)는 서로 다른 시점의 영상을 출력 중일 수 있다. 예를 들어, 단말 장치(130)가 제1 내지 제5 단말 장치를 포함하는 경우, 제1 내지 제5 단말 장치는 각각 서로 다른 시점 영상을 출력할 수 있다. 또는 제1 내지 제3 단말 장치는 제1 시점 영상을 출력하고, 제4 단말 장치는 제2 시점 영상을 출력하고, 제5 단말 장치는 제4 시점 영상을 출력할 수 있다. 단말 장치(130) 각각의 사용자가 선택한 시점 영상이 다양하게 출력될 수 있다.According to various embodiments, a terminal device (130) (e.g., an electronic device (701) of FIG. 7) may receive data regarding a single viewpoint image through a network and display the data through a display. There may be a plurality of terminal devices (130), and each terminal device may receive and output a viewpoint image desired by a user from a streaming server (120). The terminal devices (130) may be outputting images of different viewpoints. For example, when the terminal devices (130) include first to fifth terminal devices, the first to fifth terminal devices may each output different viewpoint images. Alternatively, the first to third terminal devices may output a first viewpoint image, the fourth terminal device may output a second viewpoint image, and the fifth terminal device may output a fourth viewpoint image. Viewpoint images selected by each user of the terminal devices (130) may be output in various ways.
도 2는 일 실시예에 따른 스트리밍 서버를 나타낸다.Figure 2 illustrates a streaming server according to one embodiment.
도 2를 참조하면, 다양한 실시예에 따른 스트리밍 서버(120)는 입력 버퍼(input buffer)(170), 트랙 선택부(track selector)(220) 및 출력 버퍼(output buffer)(180)를 포함할 수 있다. 도 2에서는 스트리밍 서버(120)를 기능에 따라 분류한 것으로 이에 한정되는 것은 아니다. 일부 구성이 추가되거나 생략될 수 있다. 또는 구성이 통합되거나 분리될 수 있다. 스트리밍 서버(120)는 단일 장치 또는 단일 서버 장치가 아닐 수 있고, 복수의 장치 또는 복수의 서버 장치가 결합된 형태일 수 있다. 또는 스트리밍 서버(120)의 적어도 일부 기능은 다른 장치 또는 단말 장치(130)에서 수행될 수도 있다.Referring to FIG. 2, a streaming server (120) according to various embodiments may include an input buffer (170), a track selector (220), and an output buffer (180). In FIG. 2, the streaming server (120) is classified according to its function, but is not limited thereto. Some components may be added or omitted, or components may be integrated or separated. The streaming server (120) may not be a single device or a single server device, but may be a form in which multiple devices or multiple server devices are combined. Alternatively, at least some functions of the streaming server (120) may be performed by another device or terminal device (130).
다양한 실시예에 따른 입력 버퍼(170)는 다시점 영상을 저장할 수 있다. 입력 버퍼(170)는 각 시점에 대응하는 시점 영상(250-1, 250-2, ... 250-N)에 대해 복수의 서브 트랙들을 저장할 수 있다. 복수의 서브 트랙들은 서로 다른 프레임 구조를 가질 수 있고, 디코딩되는 경우 동일한 품질을 가지는 영상으로 변환될 수 있다. 예를 들어, 제1 시점 영상(250-1)은 3개의 서브 트랙으로 구성될 수 있고, 각각의 서브 트랙은 서로 다른 I-프레임 비율을 가질 수 있다. The input buffer (170) according to various embodiments can store multi-view images. The input buffer (170) can store multiple sub-tracks for view images (250-1, 250-2, ... 250-N) corresponding to each view point. The multiple sub-tracks can have different frame structures and, when decoded, can be converted into images having the same quality. For example, the first view image (250-1) can be composed of three sub-tracks, and each sub-track can have a different I-frame rate.
도 2에서는 하나의 시점 영상이 3개의 서브 트랙들로 구성되는 경우를 예시적으로 도시하였으나, 이에 한정되는 것은 아니다. 입력 버퍼(170)에 저장되는 복수의 서브 트랙들에 관한 다양한 실시예들은 도 3을 통해 더 제공될 수 있다.Although FIG. 2 illustrates an example where a single viewpoint image is composed of three sub-tracks, the present invention is not limited thereto. Various embodiments regarding multiple sub-tracks stored in the input buffer (170) can be further provided through FIG. 3.
다양한 실시예에 따른 트랙 선택부(220)는 단말 장치(130)의 시점 전환 요청에 대응하여 시점 영상(또는 트랙)을 선택하는 제1 선택부(또는 제1 스위치)(221) 및 영상의 전송 효율을 위해 복수의 서브 트랙(또는 서브 트랙)들 중 하나를 선택하는 제2 선택부(또는 제2 스위치)(222)를 포함할 수 있다. A track selection unit (220) according to various embodiments may include a first selection unit (or first switch) (221) that selects a viewpoint image (or track) in response to a viewpoint change request of a terminal device (130) and a second selection unit (or second switch) (222) that selects one of a plurality of sub-tracks (or sub-tracks) for transmission efficiency of the image.
다양한 실시예에 따른 트랙 선택부(220)의 스위칭 동작은 스트리밍 서버(120) 내부의 프로세서(예: 도 1의 프로세서(150))의 동작이거나, 프로세서(150)의 제어에 의한 동작일 수 있다. 이하에서, 트랙 선택부(220)(제1 선택부(221) 및 제2 선택부(222))의 동작은 도 1의 프로세서(150)의 제어에 의한 동작일 수 있다.The switching operation of the track selection unit (220) according to various embodiments may be an operation of a processor (e.g., processor (150) of FIG. 1) within the streaming server (120) or an operation under the control of the processor (150). Hereinafter, the operation of the track selection unit (220) (first selection unit (221) and second selection unit (222)) may be an operation under the control of the processor (150) of FIG. 1.
도 2에서의 스위칭 동작은 예시적인 것으로 이에 한정되는 것은 아니다. 트랙 선택부(220)의 스위칭 동작은 소프트웨어에 의한 스위칭 또는, 하드웨어 소자에 의한 스위칭일 수 있다.The switching operation in Fig. 2 is exemplary and is not limited thereto. The switching operation of the track selection unit (220) may be switching by software or switching by hardware elements.
일 실시예에 따르면, 제1 선택부(221) 및 제2 선택부(222)의 스위칭은 동일한 연산 소자에 의해 제어되거나 서로 다른 연산 소자에 의해 제어될 수 있다. 트랙 선택부(220)는 스트리밍 서버(120)가 설치되는 방식에 따라 서로 다른 컨테이너/가상화 서버/물리적 서버에서 서로 통신을 통하여 동작할 수도 있다.According to one embodiment, the switching of the first selection unit (221) and the second selection unit (222) may be controlled by the same computational element or by different computational elements. The track selection unit (220) may also operate through communication with each other in different containers/virtualization servers/physical servers, depending on how the streaming server (120) is installed.
다양한 실시예에 따른 제1 선택부(221)는 단말 장치(130)의 시점 전환 요청에 대응하여 스트리밍 할 트랙을 스위칭(또는, 선택)할 수 있다. 예를 들어, 제1 시점 영상(250-1)을 스트리밍 하는 중, 단말 장치(130)로부터 제N 시점으로 전환하도록 하는 시점 변경 요청을 수신하는 경우, 제1 선택부(221)는 스트리밍 하는 트랙을 제1 시점 영상(250-1)이 전송되는 제1 트랙에서, 제N 시점 영상(201-N)이 전송되는 제N 트랙으로 스위칭할 수 있다.The first selection unit (221) according to various embodiments may switch (or select) a track to be streamed in response to a viewpoint change request from the terminal device (130). For example, when a viewpoint change request to switch to an Nth viewpoint is received from the terminal device (130) while streaming a first viewpoint image (250-1), the first selection unit (221) may switch the streamed track from the first track where the first viewpoint image (250-1) is transmitted to the Nth track where the Nth viewpoint image (201-N) is transmitted.
다양한 실시예에 따른 제2 선택부(222)는 지정된 조건에 따라 복수의 서브 트랙들 중 하나를 선택할 수 있다. 예를 들어, 제1 선택부(221)에 의해 트랙이 변경되는 경우, 전환된 시점 영상을 구성하는 복수의 서브 트랙들 중 I-프레임의 비율이 가장 높은 서브 트랙을 선택할 수 있다. 이후, 제2 선택부(222)는 복수의 서브 트랙들 중 I-프레임의 비율이 점차적으로 낮은 서브 트랙을 선택할 수 있다(예: 도 3 참고).The second selection unit (222) according to various embodiments may select one of a plurality of sub-tracks according to specified conditions. For example, when a track is changed by the first selection unit (221), the sub-track having the highest I-frame ratio among the plurality of sub-tracks constituting the switched point image may be selected. Thereafter, the second selection unit (222) may select a sub-track having a gradually decreasing I-frame ratio among the plurality of sub-tracks (e.g., see FIG. 3).
다양한 실시예에 따른 출력 버퍼(180)는 단말 장치(130)로 전송될 영상을 저장할 수 있다. 출력 버퍼(180)는 제1 선택부(221) 및 제2 선택부(222)에 의해 선택된 트랙을 통해 전송되는 영상을 일시적으로 저장할 수 있다.The output buffer (180) according to various embodiments can store images to be transmitted to the terminal device (130). The output buffer (180) can temporarily store images transmitted through tracks selected by the first selection unit (221) and the second selection unit (222).
도 3은 다양한 실시예에 따른 복수의 서브 트랙들의 저장 및 선택 동작을 나타낸다. FIG. 3 illustrates the storage and selection operations of multiple sub-tracks according to various embodiments.
도 3을 참조하면, 다양한 실시예에 따른 입력 버퍼(170)는 다시점 영상을 저장할 수 있다. 입력 버퍼(170)는 각각의 시점 영상(250-1, 250-2, ... 250-N)에 대해 복수의 서브 트랙들을 저장할 수 있다. 복수의 서브 트랙들은 서로 다른 GOP(group of pictures) 구조를 가질 수 있다. Referring to FIG. 3, the input buffer (170) according to various embodiments can store re-viewpoint images. The input buffer (170) can store multiple sub-tracks for each viewpoint image (250-1, 250-2, ... 250-N). The multiple sub-tracks can have different GOP (group of pictures) structures.
예를 들어, 제1 시점 영상(250-1)에 대한 제1 서브 트랙()(250-1-1)은 전체 프레임이 모두 I-프레임으로 구성될 수 있다(I-프레임 비율(RI)=1). 제1 시점 영상(250-1)에 대한 제2 서브 트랙()(250-1-2)은 4개의 프레임 당 1개의 I 프레임을 포함하고, 나머지는 P 프레임으로 구성될 수 있다(I-프레임 비율(RI)=1/4). 제1 시점 영상(250-1)에 대한 제3 서브 트랙()(250-1-3)은 8개의 프레임 당 하나의 I-프레임을 포함하고, 나머지는 P 프레임으로 구성될 수 있다(I-프레임 비율(RI)=1/8). For example, the first sub-track for the first viewpoint image (250-1) )(250-1-1) can be composed of all I-frames (I-frame ratio (RI) = 1). The second sub-track for the first view image (250-1) )(250-1-2) contains one I-frame per four frames, and the rest can be composed of P-frames (I-frame ratio (RI)=1/4). The third sub-track for the first view image (250-1) )(250-1-3) contains one I-frame per eight frames, and the rest can be composed of P-frames (I-frame ratio (RI)=1/8).
다른 예를 들어, 제N 시점 영상(250-N)에 대한 제1 서브 트랙()(250-N-1)은 전체 프레임이 모두 I-프레임으로 구성될 수 있다(I-프레임 비율(RI)=1). 제N 시점 영상(250-N)에 대한 제2 서브 트랙()(250-N-2)은 4개의 프레임 당 4개의 I 프레임을 포함하고, 나머지는 P 프레임으로 구성될 수 있다(I-프레임 비율(RI)=1/4). 제N 시점 영상(250-N)에 대한 제3 서브 트랙()(250-N-3)은 8개의 프레임 당 하나의 I-프레임을 포함하고, 나머지는 P 프레임으로 구성될 수 있다(I-프레임 비율(RI)=1/8). For another example, the first sub-track for the Nth viewpoint image (250-N) )(250-N-1) can be composed of all I-frames (I-frame ratio (RI)=1). The second sub-track for the N-th viewpoint image (250-N) )(250-N-2) contains 4 I frames per 4 frames, and the rest can be composed of P frames (I-frame ratio (RI) = 1/4). The third sub-track for the N-th view image (250-N) ( )(250-N-3) contains one I-frame per eight frames, and the rest can be composed of P-frames (I-frame ratio (RI)=1/8).
다양한 실시예에 따르면, 스트리밍 서버(120)의 프로세서(예: 도 1의 프로세서(150))는 소스 장치(예: 도 1의 소스 장치(110))으로부터 수신한 소스 영상을 서로 다른 GOP 구조를 가지는 복수의 서브 트랙들로 변환하여 저장할 수 있다. 또는 프로세서(150)는 소스 장치(110)로부터 각각의 시점 영상에 대해 복수의 서브 트랙들로 변환된 소스 영상을 수신하여 저장할 수도 있다.According to various embodiments, a processor (e.g., processor (150) of FIG. 1) of a streaming server (120) may convert a source video received from a source device (e.g., source device (110) of FIG. 1) into a plurality of sub-tracks having different GOP structures and store the converted source video. Alternatively, the processor (150) may receive a source video converted into a plurality of sub-tracks for each viewpoint video from the source device (110) and store the converted source video.
다양한 실시예에 따르면, 하나의 시점 영상에 대한 복수의 서브 트랙들은 모두 동일한 화질을 제공할 수 있고, 인터 프레임(inter-frame) 압축의 특성 상, 각 서브 트랙의 비트레이트(bitrate)는 제3 서브 트랙(250-N-3) < 제2 서브 트랙(250-N-2) < 제1 서브 트랙(250-N-1)의 순서로 증가할 수 있다. 따라서, 동일한 화질의 영상을 재생하기 위해 필요한 네트워크 대역폭은 제3 서브 트랙(250-N-3) < 제2 서브 트랙(250-N-2) < 제1 서브 트랙(250-N-1)의 순서로 증가할 수 있다. 다수의 사용자에게 동일한 스트리밍 서비스를 제공하기 위해서는 한정된 네트워크 대역폭을 효율적으로 이용해는 경우, I-프레임의 비율이 낮은 서브 영상일수록 높은 네트워크 우선 순위(priority)를 가질 수 있다. 예를 들어, 네트워크 우선 순위는 제1 서브 트랙(250-N-1) < 제2 서브 트랙(250-N-2) < 제3 서브 트랙(250-N-3)의 순서로 높을 수 있다.According to various embodiments, multiple sub-tracks for one viewpoint image can all provide the same image quality, and due to the characteristics of inter-frame compression, the bitrate of each sub-track can increase in the order of the third sub-track (250-N-3) < the second sub-track (250-N-2) < the first sub-track (250-N-1). Accordingly, the network bandwidth required to play back images with the same image quality can increase in the order of the third sub-track (250-N-3) < the second sub-track (250-N-2) < the first sub-track (250-N-1). In order to provide the same streaming service to multiple users, when efficiently utilizing limited network bandwidth, a sub-image with a lower I-frame ratio can have a higher network priority. For example, the network priority may be higher in the order of 1st sub-track (250-N-1) < 2nd sub-track (250-N-2) < 3rd sub-track (250-N-3).
다양한 실시예에 따르면, 시점 영상을 구성하는 복수의 서브 트랙들은 각각 연속된 비디오 프레임들로 구성될 수 있다. 영상이 스트리밍 되는 중, 단말 장치(130)로부터 시점 전환 요청을 수신하는 경우, 프로세서(150)(예: 도 2의 제1 선택부(221))는 스트리밍 중인 제1 시점 영상(250-1)에서, 시점 전환 요청에 대응하는 제N 시점 영상(또는, 트랙)(250-N)으로 전환할 수 있다. 프로세서(150)(예: 도 2의 제2 선택부(222))는 지정된 조건에 따라 복수의 서브 트랙(또는, 서브 영상)들 중 하나를 선택할 수 있다.According to various embodiments, each of the plurality of sub-tracks constituting a viewpoint image may be composed of consecutive video frames. When a viewpoint switching request is received from a terminal device (130) while the image is being streamed, the processor (150) (e.g., the first selection unit (221) of FIG. 2) may switch from the first viewpoint image (250-1) being streamed to an Nth viewpoint image (or track) (250-N) corresponding to the viewpoint switching request. The processor (150) (e.g., the second selection unit (222) of FIG. 2) may select one of the plurality of sub-tracks (or sub-images) according to a specified condition.
다양한 실시예에 따르면, 시점 영상이 전환되는 제1 시간(또는, 프로세서(150)가 시점 영상의 스위칭을 수행하는 시간)에, 각각의 서브 트랙이 가지는 프레임의 종류는 서로 다를 수 있다. 예를 들어, t0 시간에 스트리밍 중인 제1 시점 영상(250-1)에서 제N 시점 영상(250-N)으로 전환되는 경우, 제N 시점 영상(250-N)을 구성하는 제1 내지 제3 서브 트랙들(250-N-1, 250-N-2, 250-N-3))이 가지는 프레임은 각각 I-프레임, P-프레임, P-프레임일 수 있다. According to various embodiments, at the first time when the viewpoint image is switched (or, the time when the processor (150) performs switching of the viewpoint image), the types of frames that each sub-track has may be different. For example, when switching from the first viewpoint image (250-1) being streamed at time t0 to the Nth viewpoint image (250-N), the frames that the first to third sub-tracks (250-N-1, 250-N-2, 250-N-3) that constitute the Nth viewpoint image (250-N) have may be I-frames, P-frames, and P-frames, respectively.
다양한 실시예에 따르면, 시점 영상이 전환되는 제1 시간(예: t0)에, 프로세서(150)(예: 도 2의 제2 선택부(222))는 스트리밍할 서브 트랙을 I-프레임을 가지는 제1 서브 트랙(250-N-1)으로 결정하여 스트리밍을 시작할 수 있다. 비교 예에서, 단말 장치(예: 도 1의 단말 장치 (130))가 스트리밍 서버(120)로부터 P-프레임을 가지는 제2 서브 트랙(250-N-2) 또는 제3 서브 트랙(250-N-3)을 수신하는 경우, 단말 장치(130)는 수신한 프레임을 디코딩할 수 있는 기준 프레임(reference frame)을 가지고 있지 않아 정상적인 화면을 출력하지 못할 수 있다. 반면, 본 발명의 일 실시예에서, I-프레임을 가지는 제1 서브 트랙(250-N-1)이 1차적으로 전송되는 경우, 기준 프레임(reference frame)을 필요로 하지 않을 수 있고 단말 장치(130)는 사용자에게 정상적인 화면을 제공할 수 있다.According to various embodiments, at a first time (e.g., t0) when the viewpoint image is switched, the processor (150) (e.g., the second selection unit (222) of FIG. 2) may determine the sub-track to be streamed as the first sub-track (250-N-1) having an I-frame and start streaming. In a comparative example, when a terminal device (e.g., the terminal device (130) of FIG. 1) receives a second sub-track (250-N-2) or a third sub-track (250-N-3) having a P-frame from the streaming server (120), the terminal device (130) may not be able to output a normal screen because it does not have a reference frame capable of decoding the received frame. On the other hand, in one embodiment of the present invention, when the first sub-track (250-N-1) having an I-frame is transmitted primarily, a reference frame may not be required and the terminal device (130) may provide a normal screen to the user.
다양한 실시예에 따르면, 제2 서브 트랙(250-N-2)이 I-프레임을 가지는 제2 시간(예: t1)에 시점 영상이 유지되는 경우(별도의 시점 전환 요청이 수신되지 않은 경우), 프로세서(150)(예: 도 2의 제2 선택부(222))는 제2 서브 트랙(250-N-2)를 선택하여 스트리밍할 수 있다. 유사하게, 제3 서브 트랙(250-N-3)가 I-프레임을 가지는 제3 시간(예: t5)에 시점 영상이 유지되는 경우, 프로세서(150)(예: 제2 선택부(222))는 제3 서브 트랙(250-N-3)을 선택하여 스트리밍할 수 있다. 프로세서(150)(예: 제2 선택부(222))의 순차적인 스위칭에 의해 스트리밍하는 서브 트랙의 I-프레임의 비율이 점차적으로 낮아질 수 있고, 네트워크 효율성이 높아질 수 있다. According to various embodiments, when the second sub-track (250-N-2) maintains a viewpoint image at a second time (e.g., t1) having an I-frame (when no separate viewpoint switching request is received), the processor (150) (e.g., the second selection unit (222) of FIG. 2 ) may select and stream the second sub-track (250-N-2). Similarly, when the third sub-track (250-N-3) maintains a viewpoint image at a third time (e.g., t5) having an I-frame, the processor (150) (e.g., the second selection unit (222)) may select and stream the third sub-track (250-N-3). By sequential switching of the processor (150) (e.g., the second selection unit (222)), the ratio of I-frames of the streaming sub-tracks may be gradually reduced, and network efficiency may be increased.
다양한 실시예에 따르면, 프로세서(150)는 네트워크 상황에 따라 서브 트랙 사이의 변경 시간을 빠르게 설정할 수 있다. 예를 들어, 네트워크의 통신 품질이 지정된 값 이하인 경우, 프로세서(150)(예: 도 2의 제2 선택부(222))는 제2 서브 트랙(250-N-2)이 I-프레임을 가지는 제2 시간(예: t1)에 바로 제2 서브 트랙(250-N-2)를 선택하여 스트리밍할 수 있다. 다른 예를 들어, 네트워크의 통신 품질이 지정된 값 초과인 경우, 프로세서(150)(예: 도 2의 제2 선택부(222))는 제2 서브 트랙(250-N-2)이 제2 시간(예: t1)이 아닌 이후의 다른 시간에 제2 서브 트랙(250-N-2)을 선택하여 스트리밍할 수 있다.According to various embodiments, the processor (150) can quickly set the change time between sub-tracks depending on the network conditions. For example, when the communication quality of the network is below a specified value, the processor (150) (e.g., the second selection unit (222) of FIG. 2) can select and stream the second sub-track (250-N-2) immediately at a second time (e.g., t1) when the second sub-track (250-N-2) has an I-frame. For another example, when the communication quality of the network is above a specified value, the processor (150) (e.g., the second selection unit (222) of FIG. 2) can select and stream the second sub-track (250-N-2) at a time other than the second time (e.g., t1) that is later.
다양한 실시예에 따르면, 프로세서(150)는 시점 전환 전후의 프레임 구조가 변경되는 경우, 관련 정보를 단말 장치(130)에 제공할 수 있다. 예를 들어, 제1 시점 영상(250-1)에 대한 제3 서브 트랙()(250-1-3)(I-프레임 비율(RI)=1/8)으로 스트리밍 하는 중, 시점 전환 요청에 의해 제N 시점 영상(250-N)에 대한 제1 서브 트랙()(250-N-1)(I-프레임 비율(RI)=1)로 전환되는 경우, 프로세서(150)는 화질 변경이 발생할 수 있다는 메시지를 단말 장치(130)에 제공할 수 있다.According to various embodiments, the processor (150) may provide related information to the terminal device (130) when the frame structure before and after the viewpoint change is changed. For example, the third sub-track ( for the first viewpoint image (250-1) )(250-1-3)(I-frame rate (RI)=1/8) while streaming, the first sub-track ( for the Nth point-of-view video (250-N) is requested for a point-of-view change. )(250-N-1)(I-frame rate (RI)=1), the processor (150) may provide a message to the terminal device (130) indicating that a change in image quality may occur.
다양한 실시예에 따르면, 프로세서(150)는 지정된 조건에 따라 서브 트랙 사이의 변경을 제한하는 구간을 설정할 수 있다. 상기 조건은 사용자들의 시점 전환과 관련된 이력에 관한 정보, 또는 시점 전환과 관련된 미리 분석된 정보를 기반으로 할 수 있다.According to various embodiments, the processor (150) may set a period that restricts changes between sub-tracks based on specified conditions. The conditions may be based on information regarding the user's viewpoint switching history or pre-analyzed information regarding viewpoint switching.
도 4는 다양한 실시예에 따른 스트리밍 서버에서 수행되는 영상 스트리밍 방법을 나타낸다.FIG. 4 illustrates a video streaming method performed in a streaming server according to various embodiments.
도 4를 참조하면, 다양한 실시예에 따르면, 동작 410에서, 스트리밍 서버(120)의 프로세서(예: 도 1의 프로세서(150))는 다시점 영상에서 제1 시점 영상을 구성하는 복수의 서브 트랙 중 하나를 이용하여 단말 장치(130)에 스트리밍할 수 있다. 예를 들어, 프로세서는 복수의 서브 트랙 중 I-프레임의 비율이 가장 낮은 서브 트랙으로 스트리밍을 진행 중일 수 있다.Referring to FIG. 4, according to various embodiments, in operation 410, a processor of a streaming server (120) (e.g., processor (150) of FIG. 1) may stream to a terminal device (130) one of a plurality of sub-tracks constituting a first viewpoint image from a multi-viewpoint image. For example, the processor may be streaming using a sub-track having the lowest I-frame ratio among the plurality of sub-tracks.
다양한 실시예에 따르면, 프로세서(150)는 입력 버퍼(170)에서 해당 프레임을 dequeue 한 후, 출력 버퍼(180)로 프레임이 enqueue 하는 동작을 통해 스트리밍을 수행할 수 있다.According to various embodiments, the processor (150) may perform streaming by dequeuing the frame from the input buffer (170) and then enqueuing the frame into the output buffer (180).
다양한 실시예에 따르면, 동작 420에서, 스트리밍 서버(120)의 프로세서(150)는 단말 장치(130)로부터 시점 전환 요청을 수신하는지를 확인할 수 있다. 프로세서(150)는 시점 전환 요청을 수신하지 않은 경우(동작 420의 No), 스트리밍 상태를 유지하거나, 보다 높은 네트워크 우선 순위를 가지는 서브 트랙으로 변경하여 스트리밍을 계속할 수 있다. According to various embodiments, in operation 420, the processor (150) of the streaming server (120) may determine whether a viewpoint change request is received from the terminal device (130). If the processor (150) does not receive a viewpoint change request (No in operation 420), the processor (150) may maintain the streaming state or continue streaming by changing to a sub-track with a higher network priority.
다양한 실시예에 따르면, 동작 430에서, 스트리밍 서버(120)의 프로세서는 단말 장치로부터 시점 전환 요청을 수신하는 경우(동작 420의 Yes), 상기 요청에 대응하는 제2 시점 영상으로 전환하는 제1 시간에, 상기 제2 시점 영상 중 제1 타입 프레임(예: I-프레임)을 포함하는 서브 트랙을 스트리밍할 수 있다. According to various embodiments, in operation 430, when the processor of the streaming server (120) receives a viewpoint change request from the terminal device (Yes in operation 420), at a first time for switching to a second viewpoint image corresponding to the request, the processor may stream a sub-track including a first type frame (e.g., an I-frame) among the second viewpoint images.
예를 들어, 도 3의 예에서, 스트리밍 중인 시점 영상에서 제N 시점 영상(250-N)으로 전환되고, 전환되는 시간에 제N 시점 영상(250-N)을 구성하는 제1 내지 제3 서브 트랙(250-N-1, 250-N-2, 250-N-3) 중, 제1 서브 트랙(250-N-1)만 I-프레임을 포함하는 경우, 프로세서(150)는 제1 서브 트랙(250-N-1)을 스트리밍할 수 있다. For example, in the example of FIG. 3, when a streaming point-in-time video is switched to an Nth point-in-time video (250-N), and at the time of switching, among the first to third sub-tracks (250-N-1, 250-N-2, 250-N-3) constituting the Nth point-in-time video (250-N), if only the first sub-track (250-N-1) includes an I-frame, the processor (150) can stream the first sub-track (250-N-1).
다른 예를 들어, 스트리밍 중인 시점 영상에서 제N 시점 영상(250-N)으로 전환되고, 전환되는 시간에 제N 시점 영상(250-N)을 구성하는 제1 내지 제3 서브 트랙(250-N-1, 250-N-2, 250-N-3) 중, 제1 서브 트랙(250-N-1)과 제2 서브 트랙(250-N-2)이 모두 I-프레임을 포함하는 경우, 프로세서(150)는 네트워크 우선 순위가 높은 제2 서브 트랙(250-N-2)을 스트리밍할 수 있다. For another example, when a streaming point-in-time video is switched to an N-th point-in-time video (250-N), and at the time of switching, among the first to third sub-tracks (250-N-1, 250-N-2, 250-N-3) constituting the N-th point-in-time video (250-N), if both the first sub-track (250-N-1) and the second sub-track (250-N-2) include I-frames, the processor (150) can stream the second sub-track (250-N-2) having a higher network priority.
또 다른 예를 들어, 스트리밍 중인 시점 영상에서 제N 시점 영상(250-N)으로 전환되고, 전환되는 시간에 제N 시점 영상(250-N)을 구성하는 제1 내지 제3 서브 트랙(250-N-1, 250-N-2, 250-N-3) 모두 I-프레임을 포함하는 경우, 프로세서(150)는 네트워크 우선 순위가 가장 높은 제3 서브 트랙(250-N-3)을 스트리밍할 수 있다. For another example, when a streaming point-in-time video is switched to an Nth point-in-time video (250-N), and at the time of switching, all of the first to third sub-tracks (250-N-1, 250-N-2, 250-N-3) constituting the Nth point-in-time video (250-N) include I-frames, the processor (150) can stream the third sub-track (250-N-3) having the highest network priority.
다양한 실시예에 따르면, 프로세서(150)는 제1 시점 영상에서 제2 시점 영상으로 전환하는 제1 시간에서의 네트워크 상황을 반영하여, 서브 트랙을 선택할 수 있다. 예를 들어, 스트리밍 데이터를 수신하는 단말 장치(130)의 개수가 급격하게 줄어든 경우 또는 네트워크에 할당된 대역폭이 확장되는 경우, I-프레임의 비율이 상대적으로 높은 서브 트랙을 선택하여 스트리밍할 수 있다.According to various embodiments, the processor (150) may select a sub-track based on the network conditions at the first time point, when switching from a first-time view image to a second-time view image. For example, if the number of terminal devices (130) receiving streaming data decreases rapidly or the bandwidth allocated to the network expands, a sub-track with a relatively high proportion of I-frames may be selected and streamed.
도 5 다양한 실시예에 따른 시간에 따른 프레임 구조의 동적 변경을 나타낸다.FIG. 5 illustrates dynamic changes in frame structure over time according to various embodiments.
도 5를 참조하면, 다양한 실시예에 따른 입력 버퍼(예: 도 의 입력 버퍼(170))는 다시점 영상을 저장할 수 있다. 입력 버퍼(170)는 하나의 시점에 대응하는 시점 영상(550-1)에 대해 복수의 서브 트랙들 (550-1-1 내지 550-1-3)을 저장할 수 있다.Referring to FIG. 5, an input buffer (e.g., input buffer (170) of FIG. 5) according to various embodiments may store a multi-point image. The input buffer (170) may store a plurality of sub-tracks (550-1-1 to 550-1-3) for a point-in-time image (550-1) corresponding to one point-in-time.
다양한 실시예에 따르면, 복수의 서브 트랙들(550-1-1 내지 550-1-3)은 서로 다른 GOP(group of pictures) 구조를 가질 수 있다. 예를 들어, 복수의 서브 트랙들(550-1-1 내지 550-1-3)은 서로 다른 I-프레임 비율을 가지는 영상일 수 있다.According to various embodiments, the plurality of sub-tracks (550-1-1 to 550-1-3) may have different group of pictures (GOP) structures. For example, the plurality of sub-tracks (550-1-1 to 550-1-3) may be images having different I-frame rates.
다양한 실시예에 따르면, 스트리밍 서버(120)의 프로세서(예: 도 1의 프로세서(150))는 지정된 조건에 따라 복수의 서브 트랙들(550-1-1 내지 550-1-3)의 I-프레임 비율(RI)을 동적으로 변경할 수 있다. 예를 들어, 프로세서(150)는 컴퓨팅 자원이나 네트워크 대역폭과 서비스를 이용하는 사용자 수의 관계에 따라 I-프레임 비율(RI)을 높이거나 낮출 수 있다. 또는, 프로세서(150)는 사용자의 트랙 전환 패턴 또는 전송하는 영상의 속성(또는 특성)에 따라 I-프레임 비율(RI)을 변경할 수 있다.According to various embodiments, a processor of a streaming server (120) (e.g., processor (150) of FIG. 1) can dynamically change the I-frame rate (RI) of a plurality of sub-tracks (550-1-1 to 550-1-3) according to specified conditions. For example, the processor (150) can increase or decrease the I-frame rate (RI) according to the relationship between computing resources or network bandwidth and the number of users using the service. Alternatively, the processor (150) can change the I-frame rate (RI) according to a user's track switching pattern or the properties (or characteristics) of the video to be transmitted.
다양한 실시예에 따르면, 제1 시간 구간(T1)에서, 제1 시점 영상(550-1)에 대한 제1 서브 트랙()(550-1-1)은 모두 I-프레임으로 구성될 수 있다(I-프레임 비율(RI)=1). 제1 시점 영상(550-1)에 대한 제2 서브 트랙()(550-1-2)은 8개의 프레임 당 2개의 I 프레임을 포함하고, 나머지는 P 프레임으로 구성될 수 있다(I-프레임 비율(RI)=1/4). 제1 시점 영상(550-1)에 대한 제3 서브 트랙()(550-1-3)은 8개의 프레임 당 하나의 I-프레임을 포함하고, 나머지는 P 프레임으로 구성될 수 있다(I-프레임 비율(RI)=1/8). According to various embodiments, in a first time interval (T1), a first sub-track ( )(550-1-1) can be composed entirely of I-frames (I-frame ratio (RI) = 1). The second sub-track for the first view image (550-1) )(550-1-2) contains two I frames per eight frames, and the rest can be composed of P frames (I-frame ratio (RI) = 1/4). The third sub-track for the first view image (550-1) )(550-1-3) contains one I-frame per eight frames, and the rest can be composed of P-frames (I-frame ratio (RI)=1/8).
다양한 실시예에 따르면, 제1 시간 구간(T1) 이후의 제2 시간 구간(T2)에서, 제1 시점 영상(550-1)에 대한 제1 서브 트랙()(550-1-1)은 계속적으로 모두 I-프레임으로 구성될 수 있다(I-프레임 비율(RI)=1). 제1 시점 영상(550-1)에 대한 제2 서브 트랙()(550-1-2)은 8개의 프레임 당 4개의 I 프레임을 포함하고, 나머지는 P 프레임으로 구성될 수 있다(I-프레임 비율(RI)=1/2). 제1 시점 영상(550-1)에 대한 제3 서브 트랙()(550-1-3)은 8개의 프레임 당 2개의 I-프레임을 포함하고, 나머지는 P 프레임으로 구성될 수 있다(I-프레임 비율(RI)=1/4). 예를 들어, 제2 시간 구간(T2)에서 사용자의 트랙 전환 요청이 빈번할 것으로 예측되는 경우, 프로세서(150)는 네트워크 우선 순위가 상대적으로 높은 서브 트랙에 대한 I-프레임 비율을 높여, 사용자의 연속된 트랙 전환 요청에 빠르게 대응할 수 있다.According to various embodiments, in a second time interval (T2) after a first time interval (T1), a first sub-track ( )(550-1-1) can be continuously composed entirely of I-frames (I-frame ratio (RI) = 1). The second sub-track for the first view image (550-1) )(550-1-2) contains 4 I frames per 8 frames, and the rest can be composed of P frames (I-frame ratio (RI)=1/2). The third sub-track for the first view image (550-1) )(550-1-3) may include two I-frames per eight frames, and the remainder may be composed of P-frames (I-frame ratio (RI)=1/4). For example, if it is predicted that the user's track switching requests will be frequent in the second time interval (T2), the processor (150) may increase the I-frame ratio for a sub-track with a relatively high network priority, thereby quickly responding to the user's continuous track switching requests.
다양한 실시예에 따르면, 제2 시간 구간(T2) 이후의 제3 시간 구간(T3)에서, 제1 시간 구간(T1)과 동일한 I-프레임 비율을 유지할 수 있다. 예를 들어, 트랙 전환 요청 빈도가 다시 낮아지는 것으로 예측되는 경우, 프로세서(150)는 복수의 서브 트랙들 (550-1-1 내지 550-1-3)의 I-프레임 비율을 이전의 제1 시간 구간(T1)에서의 상태로 복귀시킬 수 있다.According to various embodiments, in the third time interval (T3) following the second time interval (T2), the same I-frame rate as in the first time interval (T1) can be maintained. For example, if the frequency of track change requests is expected to decrease again, the processor (150) can return the I-frame rate of the plurality of sub-tracks (550-1-1 to 550-1-3) to the state in the previous first time interval (T1).
다양한 실시예에 따르면, 프로세서(150)는 네트워크 상태, 스트리밍 서비스를 제공 받는 단말 장치(130)의 개수, 시점 전환 요청이 많이 발생하는 사용자인지 여부, 제공하는 시점 영상의 특성 중 적어도 하나의 조건에 따라, I-프레임 비율을 동적으로 변경할 수 있다.According to various embodiments, the processor (150) can dynamically change the I-frame rate according to at least one condition among a network status, the number of terminal devices (130) receiving streaming services, whether the user frequently makes requests for viewpoint switching, and the characteristics of the viewpoint video provided.
도 6은 다양한 실시예에 따른 프레임 구조 정보의 전송을 통한 영상 스트리밍 방법을 나타낸다.도 6을 참조하면, 다양한 실시예에 따른 스트리밍 서버(120)의 프로세서(예: 도 1의 프로세서(150))는 단말 장치(130)로 다시점 영상의 프레임 구조에 관한 정보(이하, 프레임 구조 정보)(610)를 전송할 수 있다. 다시점 영상에 대한 프레임 구조 정보(610)는 단말 장치(130)에 스트리밍 서비스를 제공하는 채널과 동일한 채널 또는 별도의 다른 채널을 통해 제공될 수 있다. FIG. 6 illustrates a video streaming method through transmission of frame structure information according to various embodiments. Referring to FIG. 6, a processor (e.g., processor (150) of FIG. 1) of a streaming server (120) according to various embodiments may transmit information (610) regarding the frame structure of a multi-view video (hereinafter, referred to as frame structure information) of the multi-view video to a terminal device (130). The frame structure information (610) regarding the multi-view video may be provided through the same channel as the channel that provides the streaming service to the terminal device (130) or through a separate channel.
다양한 실시예에 따르면, 프레임 구조 정보(610)는 다시점 영상 전체에 대한 정보를 포함할 수도 있고, 다시점 영상의 일부에 대한 정보를 포함할 수도 있다. 예를 들어, 제1 시점 영상을 수신하는 상태에서, 단말 장치(130)는 전환 가능성이 높은 제2 시점 영상에 프레임 구조 정보(610)을 수신할 수 있다.According to various embodiments, the frame structure information (610) may include information about the entire multi-viewpoint image, or may include information about a portion of the multi-viewpoint image. For example, while receiving a first-viewpoint image, the terminal device (130) may receive frame structure information (610) for a second-viewpoint image with a high possibility of transition.
다양한 실시예에 따르면, 단말 장치(130)의 프로세서(예: 도 7의 프로세서(720))는 수신한 프레임 구조 정보(610)을 이용하여, 사용자의 시점 전환 요청에 대해 효과적으로 대응할 수 있다. 예를 들어, 사용자가 시점 전환과 관련된 입력(예: 터치 입력, 음성 입력)을 발생시킨 시간으로부터 실제 트랙이 전환되는데 걸리는 시간(이하, 반응 시간(d_react))은 스트리밍 서비스의 중요한 품질 사항일 수 있다. 반응 시간(d_react)은 지정된 값 이하를 유지하도록 관리될 수 있고, 서비스 혹은 컨텐츠 종류에 따라 반응 시간(d_react)가 변경될 수 있다.According to various embodiments, the processor of the terminal device (130) (e.g., the processor (720) of FIG. 7) can effectively respond to a user's request for a viewpoint change by using the received frame structure information (610). For example, the time taken for the actual track to change from the time the user generates an input related to a viewpoint change (e.g., a touch input or a voice input) (hereinafter, the reaction time (d_react)) may be an important quality factor of a streaming service. The reaction time (d_react) may be managed to remain below a specified value, and the reaction time (d_react) may be changed depending on the type of service or content.
다양한 실시예에 따르면, 단말 장치(130)의 프로세서(예: 도 7의 프로세서(720))는 실제로 트랙을 변경하는 시점을 반응 시간(d_react)의 값에 따라 변경할 수 있다. 예를 들어, t0 시간에 시점 변경 요청이 발생하고, 반응 시간(d_react)가 1로 설정된 경우, 단말 장치(130)는 t1 시간에 트랙이 전환되도록 요청할 수 있다. 다른 예를 들어, t0 시간에 시점 변경 요청이 발생하고, 반응 시간(d_react)가 2로 설정된 경우, 단말 장치(130)는 t2시간에 트랙이 전환되도록 요청할 수 있다. 이 경우, 제2 서브 트랙도 I-프레임을 포함할 수 있어, 단말 장치(130)의 프로세서(예: 도 7의 프로세서(720))는 제1 서브 트랙으로의 전환 없이 바로 제2 서브 트랙으로 전환할 수 있다. 또 다른 예를 들어, t0 시간에 시점 변경 요청이 발생하고 반응 시간(d_react)가 4로 설정된 경우, 단말 장치(130)는 t4시간에 트랙이 전환되도록 요청할 수 있다. 이 경우, 제3 서브 트랙도 I-프레임을 포함할 수 있어, 단말 장치(130)의 프로세서(예: 도 7의 프로세서(720))는 제1 서브 트랙 또는 제2 서브 트랙으로의 전환 없이 바로 제3 서브 트랙으로 전환할 수 있다. 또 다른 예를 들어, t0 시간에 시점 변경 요청이 발생하고 반응 시간(d_react)가 8로 설정된 경우, 단말 장치(130)는 t8시간에 트랙이 전환되도록 요청할 수 있다. 이 경우, 제4 서브 트랙도 I-프레임을 포함할 수 있어, 단말 장치(130)의 프로세서(예: 도 7의 프로세서(720))는 제1 서브 트랙, 제2 서브 트랙 또는 제3 서브 트랙으로의 전환 없이 바로 제4 서브 트랙으로 전환할 수 있다. 단말 장치(130)의 프로세서(예: 도 7의 프로세서(720))는 네트워크 우선권이 높은 서브 트랙을 선택할 수 있고, 이에 따라 통신 효율이 좋아질 수 있다.According to various embodiments, the processor of the terminal device (130) (e.g., the processor (720) of FIG. 7) may change the timing at which the track is actually changed depending on the value of the reaction time (d_react). For example, if a timing change request occurs at time t0 and the reaction time (d_react) is set to 1, the terminal device (130) may request that the track be switched at time t1. For another example, if a timing change request occurs at time t0 and the reaction time (d_react) is set to 2, the terminal device (130) may request that the track be switched at time t2. In this case, the second sub-track may also include an I-frame, so that the processor of the terminal device (130) (e.g., the processor (720) of FIG. 7) may switch directly to the second sub-track without switching to the first sub-track. For another example, if a viewpoint change request occurs at time t0 and the reaction time (d_react) is set to 4, the terminal device (130) may request a track change at time t4. In this case, the third sub-track may also include an I-frame, so that the processor of the terminal device (130) (e.g., the processor 720 of FIG. 7) may switch directly to the third sub-track without switching to the first or second sub-track. For another example, if a viewpoint change request occurs at time t0 and the reaction time (d_react) is set to 8, the terminal device (130) may request a track change at time t8. In this case, the fourth sub-track may also include an I-frame, so that the processor of the terminal device (130) (e.g., the processor 720 of FIG. 7) may switch directly to the fourth sub-track without switching to the first, second, or third sub-track. The processor of the terminal device (130) (e.g., the processor (720) of FIG. 7) can select a sub-track with a high network priority, thereby improving communication efficiency.
다양한 실시예에 따르면, 단말 장치(130)의 프로세서(예: 도 7의 프로세서(720))는 사용자의 시점을 전환하는 입력이 발생하는 경우, 반응 시간(d_react)의 설정값에 대응하여 지정된 시간 대기 후 시점 전환 요청을 스트리밍 서버(120)에 전송할 수 있다.According to various embodiments, when an input for switching a user's viewpoint occurs, the processor of the terminal device (130) (e.g., the processor (720) of FIG. 7) may transmit a viewpoint switching request to the streaming server (120) after waiting for a specified time corresponding to the set value of the reaction time (d_react).
다양한 실시예에 따르면, 스트리밍 서버(120)는 실시간 스트리밍 프로토콜(예: RTSP, RTMP) 또는 적응형 스트리밍 프로토콜(예: HLS, DASH)과 같은 다양한 전송 프로토콜을 이용하여 다시점 영상을 전송할 수 있다. According to various embodiments, the streaming server (120) can transmit replay video using various transmission protocols, such as real-time streaming protocols (e.g., RTSP, RTMP) or adaptive streaming protocols (e.g., HLS, DASH).
다양한 실시예에 따르면, 실시간 스트리밍 프로토콜(예: RTSP, RTMP)의 경우, 스트리밍 서버(120)는 단말 장치(130)의 상태를 저장하고, 영상을 프레임 단위로 전송할 수 있다. 스트리밍 서버(120)는 스트리밍 서비스에 접속한 단말 장치(130)가 재생하고 있는 트랙의 정보를 관리할 수 있다. 시점 전환 요청이 발생하는 경우, 스트리밍 서버(120)는 다중 트랙의 각 프레임 특성에 따라 전송할 트랙을 선택하여 전송할 수 있다. 시점 전환 요청은 영상 전송을 위한 프로토콜의 메시지 형태로 전송되거나, 다른 형태로 전송될 수 있다. 프레임 구조 정보(610)를 단말 장치(130)가 사용하는 경우, 스트리밍 서버(120)는 시점 전환 요청을 미루거나 적절한 트랙으로 직접 전환을 시도할 수 있다.According to various embodiments, in the case of real-time streaming protocols (e.g., RTSP, RTMP), the streaming server (120) can store the status of the terminal device (130) and transmit the video frame by frame. The streaming server (120) can manage information on the track that the terminal device (130) connected to the streaming service is playing. When a viewpoint change request occurs, the streaming server (120) can select and transmit a track to be transmitted according to the characteristics of each frame of multiple tracks. The viewpoint change request can be transmitted in the form of a message of a protocol for video transmission or can be transmitted in another form. When the terminal device (130) uses the frame structure information (610), the streaming server (120) can postpone the viewpoint change request or attempt to directly switch to an appropriate track.
다양한 실시예에 따르면, 적응형 스트리밍 프로토콜(예: HLS, DASH)의 경우, 스트리밍 서버(120)는 다시점 영상에 관한 프레임 구조 정보(610)인 manifest 파일을 단말 장치(130)에 전송할 수 있다. 예를 들어, DASH 의 경우 Media Presentation Description(MPD) 에 xml 형태로 전체 다중 트랙의 주소가 전송될 수 있다. Manifest 파일을 수신한 단말 장치(130)는 디코딩 가능한 트랙의 현재 세그먼트(segment)를 요청하여 재생할 수 있다. According to various embodiments, in the case of an adaptive streaming protocol (e.g., HLS, DASH), a streaming server (120) may transmit a manifest file, which is frame structure information (610) regarding a multi-view video, to a terminal device (130). For example, in the case of DASH, the address of the entire multi-track may be transmitted in XML format in a Media Presentation Description (MPD). A terminal device (130) that receives the manifest file may request and play the current segment of a decodable track.
다양한 실시예에 따르면, 단말 장치(130)는 트랙 선택에 관한 제어를 직접 수행할 수 있다. 시점 전환 요청이 발생하는 경우, 단말 장치(130)는 트랙 전환 중에 재생되어야 하는 복수의 트랙을 선정할 수 있고, 해당 트랙들의 세그먼트들을 요청할 수 있다. 사용자가 빠르게 연속적인 트랙 전환을 요청하는 경우, 단말 장치(130)는 적절한 속도를 선정하여 불연속적인 트랙을 선택할 수 있다. According to various embodiments, the terminal device (130) can directly control track selection. When a request for a track change occurs, the terminal device (130) can select multiple tracks to be played during the track change and request segments of those tracks. If the user requests rapid, continuous track changes, the terminal device (130) can select an appropriate speed to select discontinuous tracks.
다양한 실시예에 따르면, 스트리밍 서버(120)는 단말 장치(130)에서의 반응 시간(d_react)에 관한 정보를 미리 저장할 수 있다. 이 경우, 스트리밍 서버(120)는 단말 장치(130)에서의 반응 시간(d_react)을 고려하여, 시점 전환 요청에 발생한 경우에 지정된 시간 대기 후, 시점 영상을 전환할 수 있다.According to various embodiments, the streaming server (120) may store information regarding the response time (d_react) of the terminal device (130) in advance. In this case, the streaming server (120) may, taking into account the response time (d_react) of the terminal device (130), switch the viewpoint image after waiting for a specified time when a viewpoint switching request occurs.
다양한 실시예에 따르면, 스트리밍 서버(120)는 서로 다른 소스 장치(120)으로부터 시점 영상을 수신할 수 있다. 예를 들어, 스트리밍 서버(120)는 다중 시점 영상을 구성하는 제1 내지 제15 시점 영상 중, 제1 내지 제5 시점 영상은 제1 소스 장치로부터 수신하고, 제6 내지 제15 시점 영상은 제2 소스 장치로부터 수신할 수 있다.According to various embodiments, the streaming server (120) may receive viewpoint images from different source devices (120). For example, the streaming server (120) may receive viewpoint images from the first source device, and viewpoint images from the second source device, among the first to fifteenth viewpoint images constituting the multi-viewpoint image.
다양한 실시 예에 따르면, 스트리밍 서버(120) 또는 단말 장치(130)는 스트리밍 영상 중 시점 전환이 자주 발생하거나 발생 가능성이 높은 구간의 일부 영상을 네트워크를 지원하는 기지국 내부의 MEC (mobile edge computing) 서버에 저장하도록 요청할 수 있다. 시점 전환 요청이 발생하는 경우, 단말 장치(130)는 MEC 서버에 저장된 일부 영상을 MEC 서버로부터 우선 송신 받아 표시할 수 있다. 단말 장치(130)는 MEC 서버에 저장된 영상 이후의 영상을 스트리밍 서버(120)로부터 수신하여 표시할 수 있다. 스트리밍 서버(120)은 MEC 서버에 저장된 영상 이후의 영상을 단말 장치(130)에 전송할 수 있다. According to various embodiments, the streaming server (120) or the terminal device (130) may request that some of the video in a section where viewpoint changes frequently occur or are likely to occur during streaming video be stored in an MEC (mobile edge computing) server within a base station supporting the network. When a viewpoint change request occurs, the terminal device (130) may first receive and display some of the video stored in the MEC server from the MEC server. The terminal device (130) may receive and display the video following the video stored in the MEC server from the streaming server (120). The streaming server (120) may transmit the video following the video stored in the MEC server to the terminal device (130).
다양한 실시예에 따르면, 스트리밍 서버(120) 또는 단말 장치(130)는 스위칭이 발생하는 구간 또는 예상되는 구간에 대해, 각각의 소스 장치(130)에 데이터를 미리 가져오기(prefetch)되도록 요청할 수 있다. 앞의 예에서, 제1 소스 장치로부터 수신되는 제5 시점 영상에서, 제2 소스 장치로부터 수신되는 제10 시점 영상으로의 전환 가능성이 높은 경우, 스트리밍 서버(120) 또는 단말 장치(130)는 제5 시점 영상이 스트리밍 중인 경우 제2 소스 장치에 제10 시점 영상의 미리 가져오기(prefetch)되는 데이터를 증가시키도록 요청할 수 있다.According to various embodiments, the streaming server (120) or the terminal device (130) may request each source device (130) to prefetch data for a section in which switching occurs or is expected. In the above example, if there is a high possibility of switching from a 5th viewpoint image received from a 1st source device to a 10th viewpoint image received from a 2nd source device, the streaming server (120) or the terminal device (130) may request the 2nd source device to increase the prefetched data of the 10th viewpoint image while the 5th viewpoint image is being streamed.
도 7은 다양한 실시 예들에 따른 네트워크 환경(700) 내의 전자 장치(701)의 블록도 이다. 본 문서에 개시된 다양한 실시 예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치(예: PDA(personal digital assistant), 태블릿 PC(tablet PC), 랩탑 PC(데스크톱 PC, 워크스테이션, 또는 서버), 휴대용 멀티미디어 장치(예: 전자 책 리더기 또는 MP3 플레이어), 휴대용 의료 기기(예: 심박, 혈당, 혈압, 또는 체온 측정기), 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리 형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용 형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착 형(예: 스킨 패드 또는 문신), 또는 생체 이식 형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시 예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오 장치, 오디오 액세서리 장치(예: 스피커, 헤드폰, 또는 헤드 셋), 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토메이션 컨트롤 패널, 보안 컨트롤 패널, 게임 콘솔, 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.FIG. 7 is a block diagram of an electronic device (701) within a network environment (700) according to various embodiments. The electronic device according to various embodiments disclosed in this document may be a device of various forms. The electronic device may include at least one of, for example, a portable communication device (e.g., a smart phone), a computing device (e.g., a personal digital assistant (PDA), a tablet PC, a laptop PC (desktop PC, workstation, or server), a portable multimedia device (e.g., an e-book reader or an MP3 player), a portable medical device (e.g., a heart rate, blood sugar, blood pressure, or body temperature monitor), a camera, or a wearable device. The wearable device may include at least one of an accessory type (e.g., a watch, a ring, a bracelet, an anklet, a necklace, glasses, contact lenses, or a head-mounted device (HMD)), a fabric or clothing-integrated type (e.g., an electronic garment), a body-attached type (e.g., a skin pad or tattoo), or a bio-implantable circuit. In some embodiments, the electronic device may include, for example, a television, a digital video disk (DVD) player, an audio device, an audio accessory device (e.g., a speaker, a headphone, or a headset), a refrigerator, an air conditioner, a vacuum cleaner, an oven, a microwave oven, a washing machine, an air purifier, a set-top box, a home appliance, or the like. It may include at least one of an automation control panel, a security control panel, a game console, an electronic dictionary, an electronic key, a camcorder, or an electronic picture frame.
다른 실시 예에서, 전자 장치는 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder)(예: 차량/선박/비행기 용 블랙박스(black box)), 자동차 인포테인먼트 장치(예: 차량용 헤드-업 디스플레이), 산업용 또는 가정용 로봇, 드론(drone), ATM(automated teller machine), POS(point of sales) 기기, 계측 기기(예: 수도, 전기, 또는 가스 계측 기기), 또는 사물 인터넷 장치(예: 전구, 스프링클러 장치, 화재 경보기, 온도 조절기, 또는 가로등) 중 적어도 하나를 포함할 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 또한, 예를 들면, 개인의 생체 정보(예: 심박 또는 혈당)의 측정 기능이 구비된 스마트폰의 경우처럼, 복수의 장치들의 기능들을 복합적으로 제공할 수 있다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다. In another embodiment, the electronic device may include at least one of a navigation device, a global navigation satellite system (GNSS), an event data recorder (EDR) (e.g., a black box for a vehicle/ship/airplane), an automotive infotainment device (e.g., a head-up display for a vehicle), an industrial or domestic robot, a drone, an automated teller machine (ATM), a point of sales (POS) device, a measuring device (e.g., a water, electricity, or gas meter), or an Internet of Things device (e.g., a light bulb, a sprinkler device, a fire alarm, a thermostat, or a streetlight). The electronic device according to the embodiment of the present document is not limited to the above-described devices, and may also provide functions of multiple devices in combination, such as, for example, a smartphone equipped with a function of measuring an individual's biometric information (e.g., heart rate or blood sugar). In this document, the term "user" may refer to a person using an electronic device or a device (e.g., an artificial intelligence electronic device) using the electronic device.
도 7를 참조하면, 네트워크 환경(700)에서 전자 장치(701)는 제 1 네트워크(798)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(702)와 통신하거나, 또는 제 2 네트워크(799)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(704) 또는 서버(708)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(701)는 서버(708)를 통하여 전자 장치(704)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(701)는 프로세서(720), 메모리(730), 입력 장치(750), 음향 출력 장치(755), 표시 장치(760), 오디오 모듈(770), 센서 모듈(776), 인터페이스(777), 햅틱 모듈(779), 카메라 모듈(780), 전력 관리 모듈(788), 배터리(789), 통신 모듈(790), 가입자 식별 모듈(796), 또는 안테나 모듈(797)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(701)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(760) 또는 카메라 모듈(780))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(776)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(760)(예: 디스플레이)에 임베디드된 채 구현될 수 있다.Referring to FIG. 7, in a network environment (700), an electronic device (701) may communicate with an electronic device (702) via a first network (798) (e.g., a short-range wireless communication network), or may communicate with an electronic device (704) or a server (708) via a second network (799) (e.g., a long-range wireless communication network). In one embodiment, the electronic device (701) may communicate with the electronic device (704) via the server (708). According to one embodiment, the electronic device (701) may include a processor (720), a memory (730), an input device (750), an audio output device (755), a display device (760), an audio module (770), a sensor module (776), an interface (777), a haptic module (779), a camera module (780), a power management module (788), a battery (789), a communication module (790), a subscriber identification module (796), or an antenna module (797). In some embodiments, the electronic device (701) may omit at least one of these components (e.g., the display device (760) or the camera module (780)), or may have one or more other components added. In some embodiments, some of these components may be implemented as a single integrated circuit. For example, a sensor module (776) (e.g., a fingerprint sensor, an iris sensor, or an ambient light sensor) may be implemented embedded in a display device (760) (e.g., a display).
프로세서(720)는, 예를 들면, 소프트웨어(예: 프로그램(740))를 실행하여 프로세서(720)에 연결된 전자 장치(701)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(720)는 다른 구성요소(예: 센서 모듈(776) 또는 통신 모듈(790))로부터 수신된 명령 또는 데이터를 휘발성 메모리(732)에 로드하고, 휘발성 메모리(732)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(734)에 저장할 수 있다. 일실시예에 따르면, 프로세서(720)는 메인 프로세서(721)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(723)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(723)는 메인 프로세서(721)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(723)는 메인 프로세서(721)와 별개로, 또는 그 일부로서 구현될 수 있다.The processor (720) may control at least one other component (e.g., a hardware or software component) of the electronic device (701) connected to the processor (720) by executing, for example, software (e.g., a program (740)), and may perform various data processing or calculations. According to one embodiment, as at least a part of the data processing or calculation, the processor (720) may load a command or data received from another component (e.g., a sensor module (776) or a communication module (790)) into a volatile memory (732), process the command or data stored in the volatile memory (732), and store the resulting data in a non-volatile memory (734). According to one embodiment, the processor (720) may include a main processor (721) (e.g., a central processing unit or an application processor), and a secondary processor (723) (e.g., a graphics processing unit, an image signal processor, a sensor hub processor, or a communication processor) that may operate independently or together therewith. Additionally or alternatively, the auxiliary processor (723) may be configured to use less power than the main processor (721) or to be specialized for a given function. The auxiliary processor (723) may be implemented separately from the main processor (721) or as part of it.
보조 프로세서(723)는, 예를 들면, 메인 프로세서(721)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(721)를 대신하여, 또는 메인 프로세서(721)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(721)와 함께, 전자 장치(701)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(760), 센서 모듈(776), 또는 통신 모듈(790))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(723)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(780) 또는 통신 모듈(790))의 일부로서 구현될 수 있다. The auxiliary processor (723) may control at least a portion of functions or states associated with at least one component of the electronic device (701) (e.g., a display device (760), a sensor module (776), or a communication module (790)), for example, on behalf of the main processor (721) while the main processor (721) is in an inactive (e.g., sleep) state, or together with the main processor (721) while the main processor (721) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (723) (e.g., an image signal processor or a communication processor) may be implemented as part of another functionally related component (e.g., a camera module (780) or a communication module (790)).
메모리(730)는, 전자 장치(701)의 적어도 하나의 구성요소(예: 프로세서(720) 또는 센서모듈(776))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(740)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(730)는, 휘발성 메모리(732) 또는 비휘발성 메모리(734)를 포함할 수 있다. The memory (730) can store various data used by at least one component (e.g., the processor (720) or the sensor module (776)) of the electronic device (701). The data can include, for example, software (e.g., the program (740)) and input data or output data for commands related thereto. The memory (730) can include a volatile memory (732) or a non-volatile memory (734).
프로그램(740)은 메모리(730)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(742), 미들 웨어(744) 또는 어플리케이션(746)을 포함할 수 있다. The program (740) may be stored as software in the memory (730) and may include, for example, an operating system (742), middleware (744), or an application (746).
입력 장치(750)는, 전자 장치(701)의 구성요소(예: 프로세서(720))에 사용될 명령 또는 데이터를 전자 장치(701)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(750)는, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예:스타일러스 펜)을 포함할 수 있다. The input device (750) can receive commands or data to be used in a component of the electronic device (701) (e.g., a processor (720)) from an external source (e.g., a user) of the electronic device (701). The input device (750) can include, for example, a microphone, a mouse, a keyboard, or a digital pen (e.g., a stylus pen).
음향 출력 장치(755)는 음향 신호를 전자 장치(701)의 외부로 출력할 수 있다. 음향 출력 장치(755)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The audio output device (755) can output audio signals to the outside of the electronic device (701). The audio output device (755) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback, and the receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
표시 장치(760)는 전자 장치(701)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(760)는, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(760)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다. A display device (760) can visually provide information to an external party (e.g., a user) of the electronic device (701). The display device (760) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display device (760) may include touch circuitry configured to detect a touch, or a sensor circuit (e.g., a pressure sensor) configured to measure the intensity of a force generated by the touch.
오디오 모듈(770)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(770)은, 입력 장치(750)를 통해 소리를 획득하거나, 음향 출력 장치(755), 또는 전자 장치(701)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(702))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.The audio module (770) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (770) can acquire sound through an input device (750), output sound through an audio output device (755), or an external electronic device (e.g., an electronic device (702)) (e.g., a speaker or headphones) directly or wirelessly connected to the electronic device (701).
센서 모듈(776)은 전자 장치(701)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(776)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. The sensor module (776) can detect the operating status (e.g., power or temperature) of the electronic device (701) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (776) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
인터페이스(777)는 전자 장치(701)가 외부 전자 장치(예: 전자 장치(702))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(777)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The interface (777) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (701) with an external electronic device (e.g., the electronic device (702)). In one embodiment, the interface (777) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
연결 단자(778)는, 그를 통해서 전자 장치(701)가 외부 전자 장치(예: 전자 장치(702))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(778)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The connection terminal (778) may include a connector through which the electronic device (701) may be physically connected to an external electronic device (e.g., the electronic device (702)). In one embodiment, the connection terminal (778) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
햅틱 모듈(779)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(779)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The haptic module (779) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. According to one embodiment, the haptic module (779) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
카메라 모듈(780)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(780)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The camera module (780) can capture still images and videos. According to one embodiment, the camera module (780) may include one or more lenses, image sensors, image signal processors, or flashes.
전력 관리 모듈(788)은 전자 장치(701)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(788)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The power management module (788) can manage the power supplied to the electronic device (701). According to one embodiment, the power management module (788) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
배터리(789)는 전자 장치(701)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(789)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.A battery (789) may power at least one component of the electronic device (701). In one embodiment, the battery (789) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
통신 모듈(790)은 전자 장치(701)와 외부 전자 장치(예: 전자 장치(702), 전자 장치(704), 또는 서버(708)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(790)은 프로세서(720)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(790)은 무선 통신 모듈(792)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(794)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(798)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(799)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치(704)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(792)은 가입자 식별 모듈(796)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(798) 또는 제 2 네트워크(799)와 같은 통신 네트워크 내에서 전자 장치(701)를 확인 및 인증할 수 있다. The communication module (790) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (701) and an external electronic device (e.g., electronic device (702), electronic device (704), or server (708)), and the performance of communication through the established communication channel. The communication module (790) may operate independently from the processor (720) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (790) may include a wireless communication module (792) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (794) (e.g., a local area network (LAN) communication module, or a power line communication module). Any of these communication modules may communicate with an external electronic device (704) via a first network (798) (e.g., a short-range communication network such as Bluetooth, WiFi direct, or infrared data association (IrDA)) or a second network (799) (e.g., a long-range communication network such as a cellular network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (792) may use subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (796) to identify and authenticate the electronic device (701) within a communication network such as the first network (798) or the second network (799).
안테나 모듈(797)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(797)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(797)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(798) 또는 제 2 네트워크(799)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(790)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(790)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(797)의 일부로 형성될 수 있다.The antenna module (797) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (797) may include one antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (797) may include a plurality of antennas. In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (798) or the second network (799), may be selected from the plurality of antennas by, for example, the communication module (790). A signal or power may be transmitted or received between the communication module (790) and the external electronic device via the selected at least one antenna. In some embodiments, in addition to the radiator, another component (e.g., an RFIC) may be additionally formed as a part of the antenna module (797).
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(799)에 연결된 서버(708)를 통해서 전자 장치(701)와 외부의 전자 장치(704)간에 송신 또는 수신될 수 있다. 외부 전자 장치(702, 1204) 각각은 전자 장치(701)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(701)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(702, 704, 또는 708) 중 하나 이상의 외부 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(701)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(701)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(701)로 전달할 수 있다. 전자 장치(701)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.According to one embodiment, commands or data may be transmitted or received between the electronic device (701) and an external electronic device (704) via a server (708) connected to a second network (799). Each of the external electronic devices (702, 1204) may be the same or a different type of device as the electronic device (701). According to one embodiment, all or part of the operations executed in the electronic device (701) may be executed in one or more of the external electronic devices (702, 704, or 708). For example, when the electronic device (701) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (701) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (701). The electronic device (701) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, or client-server computing technologies may be utilized, for example.
다양한 실시 예에 따른 전자 장치(예: 도 1의 스트리밍 서버(120), 도 7의 서버(708))는 외부 장치(예: 도 1의 단말 장치(130), 도 7의 전자 장치(701))에 영상을 전송하고, 통신 회로(예: 도 1의 통신 회로(190)), 복수의 시점에 대응하는 복수의 영상들을 저장하는 메모리(예: 도 1의 메모리(160)), 및 프로세서(예: 도 1의 프로세서(150))를 포함하고, 상기 복수의 영상들 각각은 복수의 서브 트랙들로 구성되고, 상기 복수의 서브 트랙들 각각은 연속적인 프레임들로 구성되고, 상기 프레임들 각각은 제1 타입 프레임 또는 제2 타입 프레임 중 하나의 속성을 가지고, 상기 복수의 서브 트랙들은 전체 프레임 중 상기 제1 타입 프레임의 비율이 서로 다르고, 상기 프로세서(예: 도 1의 프로세서(150))는 상기 복수의 영상들 중 제1 시점에 대한 제1 영상의 복수의 서브 트랙들 중 하나를 상기 외부 장치(예: 도 1의 단말 장치(130), 도 7의 전자 장치(701))에 전송하고, 상기 통신 회로(예: 도 1의 통신 회로(190))를 통해, 상기 외부 장치(예: 도 1의 단말 장치(130), 도 7의 전자 장치(701))로부터 시점 전환에 관한 요청을 수신하고, 제1 시간에, 상기 요청에 대응하는 제2 시점에 대한 제2 영상의 복수의 서브 트랙들 중 상기 제1 타입 프레임을 포함하는 제1 서브 트랙을 상기 외부 장치(예: 도 1의 단말 장치(130), 도 7의 전자 장치(701))에 전송할 수 있다.According to various embodiments, an electronic device (e.g., a streaming server (120) of FIG. 1, a server (708) of FIG. 7) transmits an image to an external device (e.g., a terminal device (130) of FIG. 1, an electronic device (701) of FIG. 7), and includes a communication circuit (e.g., a communication circuit (190) of FIG. 1), a memory (e.g., a memory (160) of FIG. 1) for storing a plurality of images corresponding to a plurality of points of view, and a processor (e.g., a processor (150) of FIG. 1), wherein each of the plurality of images is composed of a plurality of sub-tracks, each of the plurality of sub-tracks is composed of consecutive frames, each of the frames has an attribute of one of a first type frame or a second type frame, and the plurality of sub-tracks have different ratios of the first type frames among the entire frames, and the processor (e.g., the processor (150) of FIG. 1) transmits one of the plurality of sub-tracks of a first image for a first point of view among the plurality of images to the external device (e.g., a terminal device (130) of FIG. 1), The electronic device (701) of FIG. 7) transmits a request for a viewpoint change from the external device (e.g., the terminal device (130) of FIG. 1, the electronic device (701) of FIG. 7) through the communication circuit (e.g., the communication circuit (190) of FIG. 1), and, at a first time, transmits a first sub-track including the first type frame among a plurality of sub-tracks of a second image for a second viewpoint corresponding to the request to the external device (e.g., the terminal device (130) of FIG. 1, the electronic device (701) of FIG. 7).
다양한 실시 예에 따르면, 상기 제1 서브 트랙은 상기 제2 영상의 복수의 서브 트랙들 중 상기 제1 타입 프레임의 포함 비율이 가장 높은 서브 트랙일 수 있다. According to various embodiments, the first sub-track may be a sub-track having the highest inclusion ratio of the first type frame among the plurality of sub-tracks of the second image.
다양한 실시 예에 따르면, 상기 제1 서브 트랙은 모든 프레임이 상기 제1 타입 프레임으로 구성된 영상일 수 있다.According to various embodiments, the first sub-track may be a video in which all frames are composed of the first type frames.
다양한 실시 예에 따르면, 상기 제1 시간은, 상기 요청에 대응하여 상기 제2 영상으로 전환하는 시간이고, 상기 프로세서(예: 도 1의 프로세서(150))는 상기 제1 시간 이후의 제2 시간에, 상기 제2 영상의 상기 복수의 서브 트랙들 중 상기 제1 타입 프레임을 포함하는 제2 서브 트랙으로 변경하여 전송할 수 있다. According to various embodiments, the first time is a time for switching to the second image in response to the request, and the processor (e.g., the processor (150) of FIG. 1) can change to a second sub-track including the first type frame among the plurality of sub-tracks of the second image and transmit the change at a second time after the first time.
다양한 실시 예에 따르면, 상기 제2 서브 트랙은 상기 제1 서브 트랙 보다 상기 제1 타입 프레임의 포함 비율이 낮을 수 있다. According to various embodiments, the second sub-track may have a lower inclusion ratio of the first type frame than the first sub-track.
다양한 실시 예에 따르면, 상기 제2 서브 트랙은 상기 제1 서브 트랙 보다 영상의 압축 비율이 더 높을 수 있다. According to various embodiments, the second sub-track may have a higher compression ratio of the image than the first sub-track.
다양한 실시 예에 따르면, 상기 제2 서브 트랙은 상기 제1 서브 트랙 보다 네트워크 우선 순위가 높을 수 있다. According to various embodiments, the second sub-track may have a higher network priority than the first sub-track.
다양한 실시 예에 따르면, 상기 프로세서(예: 도 1의 프로세서(150))는 상기 제1 시간 이후, 상기 제2 영상의 상기 복수의 서브 트랙들 중 상기 제1 타입 프레임의 비율이 낮은 서브 트랙으로 순차적으로 변경하여 전송할 수 있다.According to various embodiments, the processor (e.g., the processor (150) of FIG. 1) may sequentially change and transmit, after the first time, a sub-track having a lower ratio of the first type frame among the plurality of sub-tracks of the second image.
다양한 실시 예에 따르면, 상기 프로세서(예: 도 1의 프로세서(150))는 상기 제1 시간 이전에 상기 외부 장치(예: 도 1의 단말 장치(130), 도 7의 전자 장치(701))에 상기 제1 영상 또는 상기 제2 영상에 대한 프레임 구성에 관한 정보를 전송할 수 있다.According to various embodiments, the processor (e.g., the processor (150) of FIG. 1) may transmit information about the frame configuration for the first image or the second image to the external device (e.g., the terminal device (130) of FIG. 1, the electronic device (701) of FIG. 7) before the first time.
다양한 실시 예에 따르면, 상기 프로세서(예: 도 1의 프로세서(150))는 시간에 따라 상기 제2 영상의 상기 복수의 서브 트랙들에 대한 프레임 구성을 변경할 수 있다.According to various embodiments, the processor (e.g., processor (150) of FIG. 1) may change the frame configuration for the plurality of sub-tracks of the second image over time.
다양한 실시 예에 따르면, 상기 프로세서(예: 도 1의 프로세서(150))는 네트워크 상황, 상기 외부 장치(예: 도 1의 단말 장치(130), 도 7의 전자 장치(701))의 개수, 상기 제1 영상 또는 상기 제2 영상의 속성 중 적으로 하나를 기반으로 상기 프레임 구성을 변경할 수 있다.According to various embodiments, the processor (e.g., the processor (150) of FIG. 1) may change the frame configuration based on one of a network condition, the number of external devices (e.g., the terminal device (130) of FIG. 1, the electronic device (701) of FIG. 7), and an attribute of the first image or the second image.
다양한 실시 예에 따르면, 상기 제1 영상은 상기 제2 영상과 동일한 프레임 구성을 가질 수 있다.According to various embodiments, the first image may have the same frame configuration as the second image.
다양한 실시 예에 따르면, 상기 프로세서(예: 도 1의 프로세서(150))는 상기 요청을 수신하고 지정된 시간 대기 후, 상기 요청에 대응하여 영상을 전환할 수 있다.According to various embodiments, the processor (e.g., processor (150) of FIG. 1) may receive the request, wait for a specified time, and then switch the image in response to the request.
다양한 실시 예에 따르면, 상기 제1 타입 프레임은 단독으로 복호화 가능한 프레임이고, 상기 제2 타입 프레임을 상기 제2 타입 프레임을 이용하여 복호화 가능한 프레임일 수 있다.According to various embodiments, the first type frame may be a frame that can be decoded alone, and the second type frame may be a frame that can be decoded using the second type frame.
다양한 실시 예에 따르면, 상기 프로세서(예: 도 1의 프로세서(150))는 상기 요청에 대응하는 스위칭을 하는 제1 스위치, 상기 제2 영상의 상기 복수의 서브 트랙들 중 하나를 선택하기 위한 제2 스위치를 제어할 수 있다.According to various embodiments, the processor (e.g., processor (150) of FIG. 1) may control a first switch for switching corresponding to the request, and a second switch for selecting one of the plurality of sub-tracks of the second image.
다양한 실시 예에 따르면, 상기 프로세서(예: 도 1의 프로세서(150))는 상기 제1 시간에, 상기 제2 영상의 상기 복수의 서브 트랙들이 모두 제2 타입 프레임인 경우, 상기 복수의 서브 트랙들 중 적어도 하나가 상기 제1 타입 프레임으로 변경될 때까지 대기할 수 있다.According to various embodiments, the processor (e.g., processor (150) of FIG. 1) may wait until at least one of the plurality of sub-tracks of the second image is changed to the first type frame at the first time, when all of the plurality of sub-tracks of the second image are second type frames.
다양한 실시 예에 따른 영상 전송 방법은 외부 장치(예: 도 1의 단말 장치(130), 도 7의 전자 장치(701))에 복수의 영상들 중 하나를 전송 하는 전자 장치(예: 도 1의 스트리밍 서버(120), 도 7의 서버(708))에서 수행되고, 복수의 영상들 중 제1 시점에 대한 제1 영상의 복수의 서브 트랙들 중 하나를 상기 외부 장치(예: 도 1의 단말 장치(130), 도 7의 전자 장치(701))에 전송하는 동작, 상기 복수의 서브 트랙들 각각은 연속적인 프레임들로 구성되고, 상기 프레임들 각각은 제1 타입 프레임 또는 제2 타입 프레임 중 하나의 속성을 가지고, 상기 복수의 서브 트랙들은 전체 프레임 중 상기 제1 타입 프레임의 비율이 서로 다르고, 상기 외부 장치(예: 도 1의 단말 장치(130), 도 7의 전자 장치(701))로부터 시점 전환에 관한 요청을 수신하는 동작, 상기 요청에 대응하는 제2 시점에 대한 제2 영상으로 전환하는 동작 및 상기 제2 영상으로 전환되는 제1 시간에, 상기 제2 영상의 복수의 서브 트랙들 중 상기 제1 타입 프레임을 포함하는 제1 서브 트랙을 상기 외부 장치(예: 도 1의 단말 장치(130), 도 7의 전자 장치(701))에 전송하는 동작을 포함할 수 있다.According to various embodiments, a method for transmitting an image is performed in an electronic device (e.g., a streaming server (120) of FIG. 1, a server (708) of FIG. 7) that transmits one of a plurality of images to an external device (e.g., a terminal device (130) of FIG. 1, an electronic device (701) of FIG. 7), and includes an operation of transmitting one of a plurality of sub-tracks of a first image for a first time point among the plurality of images to the external device (e.g., a terminal device (130) of FIG. 1, an electronic device (701) of FIG. 7), each of the plurality of sub-tracks being composed of consecutive frames, each of the frames having an attribute of one of a first type frame or a second type frame, and the plurality of sub-tracks having different ratios of the first type frames among the entire frames, and an operation of receiving a request for a time point change from the external device (e.g., a terminal device (130) of FIG. 1, an electronic device (701) of FIG. 7), an operation of switching to a second image for a second time point corresponding to the request, and a first image switched to the second image. At the time, the operation may include transmitting a first sub-track including the first type frame among the plurality of sub-tracks of the second image to the external device (e.g., the terminal device (130) of FIG. 1, the electronic device (701) of FIG. 7).
다양한 실시 예에 따르면, 상기 제1 서브 트랙을 전송하는 동작은 상기 제2 영상의 복수의 서브 트랙들 중 상기 제1 타입 프레임의 포함 비율이 가장 높은 서브 트랙을 전송하는 동작을 포함할 수 있다.According to various embodiments, the operation of transmitting the first sub-track may include an operation of transmitting a sub-track having the highest inclusion ratio of the first type frame among the plurality of sub-tracks of the second image.
다양한 실시 예에 따르면, 상기 제1 서브 트랙을 전송하는 동작은 모든 프레임이 상기 제1 타입 프레임으로 구성된 상기 제1 서브 트랙을 전송하는 동작을 포함할 수 있다.According to various embodiments, the act of transmitting the first sub-track may include the act of transmitting the first sub-track in which all frames are composed of the first type frames.
다양한 실시 예에 따르면, 상기 영상 전송 방법은 상기 제2 영상의 상기 복수의 서브 트랙들 중 상기 제1 타입 프레임을 포함하는 제2 서브 트랙으로 변경하여 전송하는 동작을 더 포함할 수 있다.According to various embodiments, the image transmission method may further include an operation of changing and transmitting a second sub-track including the first type frame among the plurality of sub-tracks of the second image.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나",“A 또는 B 중 적어도 하나”, "A, B 또는 C", "A, B 및 C 중 적어도 하나”, 및 “A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term "module" as used herein may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or portion of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(701)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(736) 또는 외장 메모리(738))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(740))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(701))의 프로세서(예: 프로세서(720))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of the present document may be implemented as software (e.g., a program (740)) including one or more instructions stored in a storage medium (e.g., an internal memory (736) or an external memory (738)) readable by a machine (e.g., an electronic device (701)). For example, a processor (e.g., a processor (720)) of the machine (e.g., an electronic device (701)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, ‘non-transitory’ simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in the present document may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store ™ ) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (e.g., a module or a program) of the above-described components may include a single or multiple entities. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
Claims (20)
통신 회로;
복수의 시점에 대응하는 복수의 영상들을 저장하는 메모리; 및
프로세서;를 포함하고,
상기 복수의 영상들 각각은 복수의 서브 트랙들로 구성되고,
상기 복수의 서브 트랙들 각각은 연속적인 프레임들로 구성되고, 상기 프레임들 각각은 제1 타입 프레임 또는 제2 타입 프레임 중 하나의 속성을 가지고,
상기 복수의 서브 트랙들은 전체 프레임 중 상기 제1 타입 프레임의 비율이 서로 다르고,
상기 복수의 서브 트랙들은 동일한 하나의 시점에 대응하고,
상기 프로세서는
상기 복수의 영상들 중 제1 시점에 대한 제1 영상의 복수의 서브 트랙들 중 하나를 상기 외부 장치에 전송하고,
상기 통신 회로를 통해, 상기 외부 장치로부터 시점 전환에 관한 요청을 수신하고,
제1 시간에, 상기 요청에 대응하는 제2 시점에 대한 제2 영상의 복수의 서브 트랙들 중 상기 제1 타입 프레임의 포함 비율이 가장 높은 제1 서브 트랙을 상기 외부 장치에 전송하고,
상기 제1 시간 이후의 제2 시간에, 상기 제2 시점에 대한 제2 영상의 복수의 서브 트랙들 중 상기 제1 타입 프레임의 비율이 상기 제1 서브 트랙보다 낮은 제2 서브 트랙을 상기 외부 장치에 전송하는 전자 장치.In an electronic device that transmits images to an external device,
communication circuit;
A memory for storing multiple images corresponding to multiple points in time; and
Processor; including;
Each of the above multiple images is composed of multiple sub-tracks,
Each of the plurality of sub-tracks is composed of consecutive frames, and each of the frames has an attribute of one of a first type frame or a second type frame,
The above plurality of sub-tracks have different ratios of the first type frame among the entire frame,
The above multiple sub-tracks correspond to the same point in time,
The above processor
Transmitting one of the plurality of sub-tracks of the first image for the first time point among the plurality of images to the external device,
Through the above communication circuit, a request for a viewpoint change is received from the external device,
At a first time, the first sub-track having the highest inclusion ratio of the first type frame among the plurality of sub-tracks of the second image for the second time corresponding to the request is transmitted to the external device,
An electronic device that transmits, to the external device, a second sub-track, among a plurality of sub-tracks of a second image for the second time point, having a lower ratio of the first type frame than the first sub-track, at a second time point after the first time point.
모든 프레임이 상기 제1 타입 프레임으로 구성된 영상인 전자 장치. In the first paragraph, the first sub-track
An electronic device in which all frames are composed of the first type frames.
상기 요청에 대응하여 상기 제2 영상으로 전환하는 시간인 전자 장치.In the first paragraph, the first time is,
An electronic device that switches to the second image in response to the above request.
시간에 따라 상기 제2 영상의 상기 복수의 서브 트랙들에 대한 프레임 구성을 변경하는 전자 장치.In the first paragraph, the processor
An electronic device for changing the frame configuration of the plurality of sub-tracks of the second image over time.
상기 제1 타입 프레임은 I-프레임이고,
상기 제2 타입 프레임은 P-프레임인 전자 장치.In the first paragraph,
The above first type frame is an I-frame,
An electronic device wherein the above second type frame is a P-frame.
상기 요청에 대응하는 스위칭을 하는 제1 스위치;
상기 제2 영상의 상기 복수의 서브 트랙들 중 하나를 선택하기 위한 제2 스위치를 제어하는 전자 장치.In the first paragraph, the processor
A first switch that performs switching corresponding to the above request;
An electronic device controlling a second switch for selecting one of the plurality of sub-tracks of the second image.
상기 제1 시간에, 상기 제2 영상의 상기 복수의 서브 트랙들이 모두 제2 타입 프레임인 경우, 상기 복수의 서브 트랙들 중 적어도 하나가 상기 제1 타입 프레임으로 변경될 때까지 대기하는 전자 장치.In the first paragraph, the processor
An electronic device that waits until at least one of the plurality of sub-tracks changes to the first type frame when all of the plurality of sub-tracks of the second image are second type frames at the first time.
복수의 영상들 중 제1 시점에 대한 제1 영상의 복수의 서브 트랙들 중 하나를 상기 외부 장치에 전송하는 동작, 상기 복수의 서브 트랙들 각각은 연속적인 프레임들로 구성되고, 상기 프레임들 각각은 제1 타입 프레임 또는 제2 타입 프레임 중 하나의 속성을 가지고, 상기 복수의 서브 트랙들은 전체 프레임 중 상기 제1 타입 프레임의 비율이 서로 다르고, 상기 복수의 서브 트랙들은 동일한 하나의 시점에 대응하고;
상기 외부 장치로부터 시점 전환에 관한 요청을 수신하는 동작;
제1 시간에, 상기 요청에 대응하는 제2 시점에 대한 제2 영상의 복수의 서브 트랙들 중 상기 제1 타입 프레임의 포함 비율이 가장 높은 제1 서브 트랙을 상기 외부 장치에 전송하는 동작; 및
상기 제1 시간 이후의 제2 시간에, 상기 제2 시점에 대한 제2 영상의 복수의 서브 트랙들 중 상기 제1 타입 프레임의 비율이 상기 제1 서브 트랙보다 낮은 제2 서브 트랙을 상기 외부 장치에 전송하는 동작;을 포함하는 방법.In a method of transmitting an image performed in an electronic device that transmits a plurality of images corresponding to a plurality of points of view to an external device,
An operation of transmitting one of a plurality of sub-tracks of a first image for a first point in time among a plurality of images to the external device, wherein each of the plurality of sub-tracks is composed of consecutive frames, each of the frames has an attribute of one of a first type frame or a second type frame, the plurality of sub-tracks have different ratios of the first type frames among the entire frames, and the plurality of sub-tracks correspond to the same point in time;
An action of receiving a request for a viewpoint change from the external device;
At a first time, an operation of transmitting, to the external device, a first sub-track having the highest inclusion ratio of the first type frame among a plurality of sub-tracks of a second image for a second time corresponding to the request; and
A method comprising: transmitting, at a second time after the first time, to the external device a second sub-track, among a plurality of sub-tracks of a second image for the second time, the second sub-track having a lower ratio of the first type frame than the first sub-track.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200025583A KR102842494B1 (en) | 2020-02-28 | 2020-02-28 | The method for streaming a video and the electronic device supporting same |
PCT/KR2021/002467 WO2021172941A1 (en) | 2020-02-28 | 2021-02-26 | Image streaming method and electronic device supporting same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200025583A KR102842494B1 (en) | 2020-02-28 | 2020-02-28 | The method for streaming a video and the electronic device supporting same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210110097A KR20210110097A (en) | 2021-09-07 |
KR102842494B1 true KR102842494B1 (en) | 2025-08-06 |
Family
ID=77490298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200025583A Active KR102842494B1 (en) | 2020-02-28 | 2020-02-28 | The method for streaming a video and the electronic device supporting same |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102842494B1 (en) |
WO (1) | WO2021172941A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023128491A1 (en) * | 2021-12-30 | 2023-07-06 | 주식회사 카이 | Operation method for system for transmitting multi-channel image, and system for performing same |
KR102777291B1 (en) * | 2021-12-30 | 2025-03-10 | 주식회사 카이 | System operating method for transfering multiview video and system of thereof |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8930562B2 (en) * | 2010-07-20 | 2015-01-06 | Qualcomm Incorporated | Arranging sub-track fragments for streaming video data |
US8856283B2 (en) * | 2011-06-03 | 2014-10-07 | Apple Inc. | Playlists for real-time or near real-time streaming |
US9357275B2 (en) * | 2011-09-06 | 2016-05-31 | Qualcomm Incorporated | Network streaming of coded video data |
KR102002037B1 (en) * | 2015-11-03 | 2019-07-19 | 주식회사 케이티 | Method for watching multi-view video, method for providing multi-view video and user device |
KR102362513B1 (en) * | 2017-12-04 | 2022-02-14 | 주식회사 케이티 | Server and method for generating time slice video, and user device |
-
2020
- 2020-02-28 KR KR1020200025583A patent/KR102842494B1/en active Active
-
2021
- 2021-02-26 WO PCT/KR2021/002467 patent/WO2021172941A1/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
WO2021172941A1 (en) | 2021-09-02 |
KR20210110097A (en) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108810281B (en) | Lost frame compensation method, device, storage medium and terminal | |
CN114746831A (en) | Electronic device for providing augmented reality service and operation method thereof | |
KR101646958B1 (en) | Media encoding using changed regions | |
CN111788819B (en) | Mobile electronic device and method for forwarding user input to an application based on an input device | |
CN113325996A (en) | Split screen display method and device | |
US9930392B2 (en) | Apparatus for displaying an image and method of operating the same | |
CN105874505B (en) | Image processing method and electronic device for realizing the image processing method | |
KR102842494B1 (en) | The method for streaming a video and the electronic device supporting same | |
KR20200091278A (en) | The method for displaying visual information related to utterance input and the Electronic Device supporting the same | |
US20230178116A1 (en) | Image output method and electronic device supporting same | |
KR102801301B1 (en) | Method for provide multimedia contents and electronic device thereof | |
CN107872666A (en) | Image stream transmission method and electronic device supporting the method | |
TWI619383B (en) | Widi cloud mode | |
EP3813378B1 (en) | Electronic apparatus and control method thereof | |
KR20190106251A (en) | electronic device including interface coupled to image sensor and interface coupled between a plurality of processors | |
WO2015151548A1 (en) | Electronic device and storage medium | |
CN108464008A (en) | Electronic equipment and the content reproducing method controlled by electronic equipment | |
KR20200144702A (en) | System and method for adaptive streaming of augmented reality media content | |
KR102725126B1 (en) | The electronic device processing image data and the method for processing image data | |
KR102810007B1 (en) | Electronic apparatus for playing video and video playing method thereof | |
CN115437776A (en) | Drawing thread scheduling method, device and computer equipment | |
CN112567326B (en) | Method for processing dynamic image and electronic device thereof | |
US12238452B2 (en) | Electronic device for processing video and method for operating the same | |
KR20230116525A (en) | Electronic device for processing video and method for operation thereof | |
CN119299737A (en) | Cache data management method, device, medium and equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
A201 | Request for examination | ||
E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |