KR20150146353A - Playback point change method of user apparatus - Google Patents

Playback point change method of user apparatus Download PDF

Info

Publication number
KR20150146353A
KR20150146353A KR1020140127805A KR20140127805A KR20150146353A KR 20150146353 A KR20150146353 A KR 20150146353A KR 1020140127805 A KR1020140127805 A KR 1020140127805A KR 20140127805 A KR20140127805 A KR 20140127805A KR 20150146353 A KR20150146353 A KR 20150146353A
Authority
KR
South Korea
Prior art keywords
segment
media content
media player
time
media
Prior art date
Application number
KR1020140127805A
Other languages
Korean (ko)
Inventor
엄기문
윤두열
정광수
김동칠
김광용
류원
정일구
Original Assignee
한국전자통신연구원
광운대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원, 광운대학교 산학협력단 filed Critical 한국전자통신연구원
Publication of KR20150146353A publication Critical patent/KR20150146353A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment

Abstract

The present invention relates to a method for changing a playback point of a media player, in which a segment stored in a buffer of a media player is controlled by considering a change in a playback point of the media content displayed through a media player, so a segment of the media content is provided without a display delay according to a change in a playback point.

Description

미디어 플레이어의 재생 시점 변경 방법{PLAYBACK POINT CHANGE METHOD OF USER APPARATUS}{PLAYBACK POINT CHANGE METHOD OF USER APPARATUS}

아래의 설명은 미디어 플레이어의 재생 시점 변경 방법에 관한 것으로, 웹 환경에서 다중 시점을 가지는 영상의 스트리밍 서비스에서 시점 변경에 따른 시간 지연을 최소화하기 위한 재생 시점 변경 방법에 관한 것이다.The following description relates to a method of changing a playback point of a media player, and relates to a playback point-in-time changing method for minimizing a time delay due to a point-in-time change in a streaming service of an image having multiple points of view in a web environment.

최근에는 별도의 서버를 통해 사용자가 원하는 콘텐츠를 전송받아 재생하는 웹 기반의 스트리밍 서비스가 대중화되어 널리 사용된다.In recent years, a web-based streaming service for receiving and reproducing contents desired by a user through a separate server has become popular and widely used.

스트리밍 서비스는 크게 프로그레시브 다운로드 방식과 DASH(Dynamic Adaptive Streaming over HTTP) 방식으로 구분되며, 최근에는 프로그레시브 다운로드 방식에서 DASH 방식으로 교체되어가고 있다. 여기서, 프로그레시브 다운로드 방식은 사용자가 동영상을 요청하면 파일이 다운로드 되면서 재생되는 방식으로, 구현이 간단하고 별도의 실시간 인코딩 작업이 필요 없기 때문에 빠르다는 장점이 있다. 그러나 사용자가 재생시간을 이동(Seek)시키거나 다른 시점의 영상으로 변경하는 경우, 그 시점까지 영상을 다운로드 하는 지연이 발생하여 반응성이 떨어지는 문제가 발생한다.The streaming service is divided into a progressive download method and a dynamic adaptive streaming over HTTP (DASH) method. Recently, the progressive download method has been replaced with the DASH method. Here, the progressive downloading method is a method in which a file is downloaded and reproduced when a user requests a video, which is simple because it is simple and requires no separate real-time encoding operation. However, when the user changes the playback time to an image at a different point in time, there is a delay in downloading the image up to that point of time, resulting in a problem of poor responsiveness.

또한, 프로그레시브 다운로드 방식은 다른 시점의 카메라 영상으로 변경할 경우, 세션이 다시 연결되면서 중간 재생이 끊겨 서비스의 QoS (Quality of Service)가 보장되지 못하는 문제점도 있다.In addition, when the progressive download method is changed to a camera image at another point of time, there is a problem that quality of service (QoS) of a service can not be guaranteed due to interruption of intermediate playback while the session is connected again.

이에 따라 최근에는 HTTP 적응적 스트리밍 기법인 DASH 방식이 사용된다. DASH 방식은 서버로부터 사용자가 네트워크 환경에 따라 적절한 비트레이트의 영상을 스트리밍 서비스 받는다.Accordingly, the DASH scheme, which is an HTTP adaptive streaming scheme, is recently used. In the DASH method, a user receives streaming service of a video having an appropriate bit rate according to the network environment from the server.

그러나, 다중 시점 영상 스트리밍 서비스의 경우, DASH 방식은 버퍼링된 이전 영상이 다 소비된 후에 다음 세그먼트가 재생이 되기 때문에, 영상 시점 변경의 반응성이 떨어지는 문제점이 존재한다.However, in the case of the multi-view image streaming service, the DASH scheme has a problem that the reactivity of the image viewpoint change becomes poor because the next segment is reproduced after the buffered previous image is consumed.

다중 시점을 갖는 영상의 시점 변경에 다운로드 지연에 대한 반응성을 향상시키기 위해 DASH 방식을 이용함으로써, 보다 빠르고, 부드럽게 화면이 전환되도록 버퍼를 제어하는 미디어 플레이어의 재생 시점 변경 방법을 제공할 수 있다.It is possible to provide a method of changing a playback point of a media player that controls the buffer so that the screen is switched more quickly and smoothly by using the DASH scheme to improve the responsiveness to the download delay in changing the viewpoint of an image having multiple viewpoints.

부드럽게 화면이 전환되도록 버퍼에 저장된 영상에 대한 세그먼트를 제어함으로써, 끊김 없는 재생을 보장함에 따른 스트리밍 서비스의 QoS를 향상시키는 미디어 플레이어의 재생 시점 변경 방법을 제공할 수 있다.It is possible to provide a method of changing the playback point of the media player that improves the QoS of the streaming service by ensuring seamless playback by controlling the segment of the video stored in the buffer so that the screen is switched smoothly.

일실시예에 따른 미디어 플레이어의 재생 시점 변경 방법은 미디어 콘텐츠에 대한 제어 요청에 대응하여 서버로부터 수신한 미디어 콘텐츠의 상태 정보를 분석하는 단계; 상기 제어 요청에 따른 분석한 상태 정보 및 미디어 콘텐츠에 대한 요청 시간을 이용하여 서버에 미디어 콘텐츠의 세그먼트를 요청하는 단계; 미디어 플레이어를 통해 디스플레이 되는 상기 세그먼트의 재생 시점에 대한 변경 여부를 확인하는 단계; 및 상기 확인 결과에 따라 상기 분석한 상태 정보 및 상기 미디어 플레이어의 버퍼 상태 정보를 이용하여 변경하고자 하는 상기 세그먼트의 재생 시점에 따른 세그먼트를 상기 서버에 요청하는 단계를 포함하고, 상기 서버는, 상기 요청된 미디어 콘텐츠의 재생 시점 또는 요청 시간에 따른 세그먼트를 상기 미디어 플레이어에 전달할 수 있다.According to another aspect of the present invention, there is provided a method of changing a playback time of a media player, the method comprising: analyzing status information of media content received from a server in response to a control request for media content; Requesting a segment of the media content to the server using the analyzed status information and the request time for the media content according to the control request; Confirming whether or not the playback time of the segment displayed through the media player is changed; And requesting the server for a segment according to the playback time of the segment to be changed using the analyzed state information and the buffer state information of the media player according to the result of the checking, The media player can transmit a segment according to a playback time or a request time of the media content to the media player.

일실시예에 따른 변경 시점에 따른 세그먼트를 상기 서버에 요청하는 단계는 상기 미디어 콘텐츠의 재생 시점이 변경되는 경우, 상기 미디어 플레이어의 버퍼에 저장된 세그먼트 중 상기 요청된 미디어 콘텐츠의 재생 시점에 따른 세그먼트가 미디어 플레이어에 수신되어 재생되는 준비 시간에 재생될 세그먼트를 제외한 나머지 세그먼트를 삭제할 수 있다.The step of requesting the server for a segment according to a change time according to an embodiment may include: when a playback point of the media content is changed, a segment corresponding to a playback point of the requested media content among the segments stored in the buffer of the media player It is possible to delete the segments other than the segment to be reproduced at the preparation time, which is received and reproduced by the media player.

일실시예에 따른 준비 시간은 상기 미디어 플레이어를 통해 재생 중인 세그먼트 이후에 재생되는 세그먼트의 첫 프레임 요청 시간, 상기 재생 중인 세그먼트의 요청 시간 및 미디어 콘텐츠를 제공하기 위한 버퍼링 시간을 기반으로 결정될 수 있다.The preparation time according to an embodiment may be determined based on a request time of a first frame of a segment reproduced after a segment being reproduced through the media player, a request time of the segment being reproduced, and a buffering time for providing the media content.

일실시예에 따른 재생될 세그먼트는 상기 미디어 플레이어의 버퍼에 저장된 세그먼트의 요청 시간 및 상기 준비 시간을 기반으로 상기 재생될 세그먼트가 결정될 수 있다.A segment to be reproduced according to an embodiment may be determined based on a request time of a segment stored in the buffer of the media player and the preparation time.

일실시예에 따른 서버는 적어도 하나의 미디어 콘텐츠에 대하여 서로 다른 재생 시점에 따른 요청 시간을 고려하여 각각의 세그먼트로 분할하여 저장할 수 있다.The server according to an embodiment may divide and store the at least one media content in each segment in consideration of a request time according to different playback time points.

일실시예에 따른 미디어 콘텐츠의 상태 정보는 상기 미디어 콘텐츠의 시점 정보, 상기 미디어 콘텐츠의 요청 시간 정보, 상기 미디어 콘텐츠의 세그먼트 정보, 상기 미디어 콘텐츠의 해상도 정보, 상기 미디어 콘텐츠의 프레임률 정보 중 적어도 하나를 포함할 수 있다.The status information of the media content according to one embodiment includes at least one of the viewpoint information of the media content, the request time information of the media content, the segment information of the media content, the resolution information of the media content, . ≪ / RTI >

미디어 플레이어의 재생 시점 변경 방법은 다중 시점을 갖는 영상의 시점 변경의 지연에 대한 반응성을 향상시키기 위해 DASH 방식을 이용함으로써, 보다 빠르고, 부드럽게 화면이 전환되도록 버퍼를 제어할 수 있다. The method of changing the reproduction time of the media player can control the buffer to switch the screen more quickly and smoothly by using the DASH method in order to improve the responsiveness to the delay of the viewpoint change of the multi-viewpoint image.

미디어 플레이어의 재생 시점 변경 방법은 부드럽게 화면이 전환되도록 버퍼에 저장된 영상에 대한 세그먼트를 제어함으로써, 끊김 없는 재생을 보장함에 따라 스트리밍 서비스의 QoS를 향상시킬 수 있다.The method of changing the playback point of the media player can improve the QoS of the streaming service by ensuring seamless playback by controlling the segment of the video stored in the buffer so that the screen is switched smoothly.

도 1은 일실시예에 따른 미디어 플레이어와 서버를 도시한 도면이다.
도 2는 일실시예에 따른 미디어 플레이어의 재생 시점 변경 방법에 관한 플로우 차트이다.
도 3은 일실시예에 따른 미디어 플레이어의 버퍼에 저장된 미디어 콘텐츠에 대한 세그먼트를 설명하기 위한 도면이다.
도 4는 일실시예에 따른 미디어 플레이어의 구현하기 위한 세부 구성도를 도시한 도면이다.
1 is a diagram illustrating a media player and a server according to an exemplary embodiment of the present invention.
2 is a flowchart illustrating a method of changing a playback time of a media player according to an embodiment.
3 is a view for explaining a segment of a media content stored in a buffer of a media player according to an exemplary embodiment of the present invention.
FIG. 4 is a detailed block diagram of a media player according to an exemplary embodiment of the present invention. Referring to FIG.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 일실시예에 따른 미디어 플레이어와 서버를 도시한 도면이다.1 is a diagram illustrating a media player and a server according to an exemplary embodiment of the present invention.

도 1을 참고하면, 미디어 플레이어(101)는 상태 정보 분석부(102), 제1 요청부(103), 재생 시점 확인부(104) 및 제2 요청부(105)를 포함할 수 있다.1, the media player 101 may include a status information analysis unit 102, a first request unit 103, a playback time confirmation unit 104, and a second request unit 105.

상태 정보 분석부(102)는 미디어 콘텐츠에 대한 제어 요청에 대응하여 서버로부터 수신한 미디어 콘텐츠의 상태 정보를 분석할 수 있다. 미디어 콘텐츠의 상태 정보는 파일 형태로 미디어 콘텐츠의 시점 정보, 미디어 콘텐츠의 요청 시간 정보, 미디어 콘텐츠의 세그먼트 정보, 미디어 콘텐츠의 해상도 정보, 미디어 콘텐츠의 프레임률 정보 등을 포함할 수 있다. 일례로, 미디어 콘텐츠의 상태 정보는 MPD(Media Presentation Description) 파일로써, 미디어 콘텐츠에 대한 세부적인 정보를 포함할 수 있다.The status information analyzing unit 102 may analyze the status information of the media content received from the server in response to the control request for the media content. The status information of the media content may include time information of the media content, request time information of the media content, segment information of the media content, resolution information of the media content, frame rate information of the media content, and the like in a file form. For example, the status information of the media content is an MPD (Media Presentation Description) file, and may include detailed information about the media content.

제1 요청부(103)는 제어 요청에 따라 미디어 콘텐츠에 대한 요청 시간을 측정하고, 측정된 요청 시간에 따른 미디어 콘텐츠의 세그먼트를 서버에 요청할 수 있다. 다시 말해, 제1 요청부(103)는 미디어 콘텐츠를 재생하기 위한 최초 동작에 따른 1회에 한하여 현재 시작 위치에 따른 요청 시간을 측정할 수 있다.The first requesting unit 103 may measure the request time for the media content according to the control request and request the server for the segment of the media content according to the measured request time. In other words, the first requesting unit 103 can measure the request time according to the current start position only once according to the initial operation for reproducing the media content.

그리고, 제1 요청부(103)는 사용자의 미디어 콘텐츠에 대한 제어 요청에 따라 서버(106)로부터 제어 요청에 대응하는 미디어 콘텐츠의 세그먼트를 다운로드 할 수 있다. 여기서, 미디어 콘텐츠의 세그먼트는 사용자의 네트워크 환경에 따른 서로 다른 비트레이트의 콘텐츠를 스트리밍 서비스에 적합하도록 분할된 단위를 의미할 수 있다.The first requesting unit 103 may download a segment of the media content corresponding to the control request from the server 106 according to a control request of the user's media content. Here, the segment of the media content may mean a unit divided into segments suitable for the streaming service, the content of which has different bit rates according to the user's network environment.

즉, 서버(106)는 비트레이트의 콘텐츠에 대한 관리의 효율성을 높이기 위해 각각의 콘텐츠를 세그먼트 단위로 분할할 수 있다. 그리고, 미디어 플레이어(101)는 제어 요청에 따라 서버(106)로부터 미디어 콘텐츠에 대하여 세그먼트 단위로 다운로드 할 수 있다. 그리고, 미디어 플레이어(101)는 서버(106)로부터 다운로드 한 미디어 콘텐츠의 세그먼트를 버퍼에 저장하고, 버퍼에 저장된 미디어 콘텐츠의 세그먼트를 화면에 렌더링하여 사용자에게 제공할 수 있다.That is, the server 106 may divide each content into segment units in order to improve the management efficiency of the bit rate content. The media player 101 can download the media content from the server 106 on a segment basis in response to a control request. The media player 101 may store a segment of the media content downloaded from the server 106 in a buffer, render a segment of the media content stored in the buffer on the screen, and provide the segment to the user.

재생 시점 확인부(104)는 현재 디스플레이 되고 있는 세그먼트의 재생 시점에 대한 변경 여부를 확인할 수 있다. 여기서, 세그먼트의 재생 시점은 사용자에 의해 재생 시간이 이동(Seek)되거나, 다른 시점의 영상으로 변경되는 것을 의미할 수 있다.The playback time confirmation unit 104 can confirm whether or not the playback time of the currently displayed segment is changed. Here, the playback time of the segment may mean that the playback time is shifted by the user or changed to an image at another time point.

또한, 제2 요청부(105)는 확인 결과에 따라 상기 분석한 상태 정보 및 상기 미디어 플레이어의 버퍼 상태 정보를 이용하여 변경하고자 하는 상기 세그먼트의 재생 시점에 따른 세그먼트를 상기 서버에 요청할 수 있다. 그리고, 제2 요청부(105)는 미디어 콘텐츠의 세그먼트에 대한 재생 시점 변경에 대응하여 서버(106)로부터 변경된 재생 시점에 대한 미디어 콘텐츠의 세그먼트를 다운로드 할 수 있다.In addition, the second requesting unit 105 may request the server for a segment according to the playback time of the segment to be changed, using the analyzed state information and buffer state information of the media player according to the result of the check. The second request unit 105 may download a segment of the media content for the changed playback point from the server 106 in response to the playback point change of the segment of the media content.

도 2는 일실시예에 따른 미디어 플레이어의 재생 시점 변경 방법에 관한 플로우 차트이다.2 is a flowchart illustrating a method of changing a playback time of a media player according to an embodiment.

단계(201)에서 서버(106)는 미디어 플레이어(101)로부터 요청되는 제어 요청에 따라 실시간으로 미디어 콘텐츠의 세그먼트를 제공하기 위해 복수의 미디어 콘텐츠의 세그먼트를 관리할 수 있다. 구체적으로, 서버(106)는 DASH 기반의 다중 시점 스트리밍 서비스를 제공하기 위해 미디어 콘텐츠에 대하여 DASH 포맷의 세그먼트로 조각 내어 서버 내에 존재하거나 별도로 존재하는 저장소에 저장한 후, 저장된 세그먼트를 관리할 수 있다.In step 201, the server 106 may manage a plurality of segments of media content in order to provide a segment of the media content in real time in response to the control request requested from the media player 101. [ Specifically, the server 106 may fragment the media content into a DASH format segment to provide a DASH-based multi-view streaming service, and may store the segments in a storage unit existing in the server or in a separate storage unit, .

그리고, 미디어 플레이어(101)는 실시간으로 미디어 콘텐츠에 대한 제어 요청을 서버(106)에 전달할 수 있다. 이 때, 미디어 플레이어(101)는 웹 사이트를 통해 사용자가 원하는 미디어 콘텐츠에 대한 제어 요청을 서버(106)에 전달할 수 있다. 그리고, 서버(106)는 전달된 제어 요청에 대응하여 해당 미디어 콘텐츠에 대한 상태 정보를 전달할 수 있다.Then, the media player 101 can transmit a control request for the media content to the server 106 in real time. At this time, the media player 101 can transmit a control request for the desired media content to the server 106 via the web site. The server 106 may transmit status information on the corresponding media content in response to the transmitted control request.

단계(202)에서 미디어 플레이어(101)는 서버(106)로부터 전달받은 미디어 콘텐츠에 대한 상태 정보를 분석할 수 있다. 상태 정보는 미디어 콘텐츠에 대한 세부 정보를 포함하는 것으로, 요청 시간, 재생 시점 정보, 프레임률, 해상도 등의 정보를 포함할 수 있다. 그리고, 미디어 플레이어(101)는 상태 정보를 바탕으로 미디어 콘텐츠에 대한 세부적인 구성을 파악할 수 있다.In step 202, the media player 101 may analyze the status information on the media content received from the server 106. [ The status information includes detailed information about the media content, and may include information such as a request time, playback time information, frame rate, and resolution. Then, the media player 101 can grasp the detailed configuration of the media content based on the status information.

그리고, 미디어 플레이어(101)는 서버(106)로부터 전달받는 미디어 콘텐츠의 세그먼트를 저장하는 버퍼의 저장 상태를 파악할 수 있다. 다시 말해, 미디어 플레이어(101)는 버퍼 저장 상태를 파악하고, 파악한 버퍼 저장 상태를 기반으로 서버(106)로부터 미디어 콘텐츠의 세그먼트를 다운받기 위한 동작을 수행할 수 있다.The media player 101 can determine the storage state of the buffer storing the segment of the media content received from the server 106. [ In other words, the media player 101 can recognize the buffer storage state and perform an operation for downloading a segment of the media content from the server 106 based on the determined buffer storage state.

단계(203)에서 미디어 플레이어(101)는 미디어 콘텐츠의 세그먼트에 대한 요청 시간을 측정할 수 있다. 구체적으로, 미디어 플레이어(101)는 파악한 미디어 플레이어의 상태 정보 및 버퍼 저장 상태를 바탕으로 버퍼의 언더플로우를 방지하기 위해 세그먼트에 대한 요청 시간을 측정할 수 있다. 또한, 미디어 플레이어(101)는 세그먼트에 대한 요청 시간을 측정함으로써, 미디어 콘텐츠의 끊김 현상 없이 부드럽게 재생이 가능할 수 있다.In step 203, the media player 101 may measure the request time for a segment of the media content. Specifically, the media player 101 may measure a request time for a segment to prevent an underflow of the buffer based on the state information and the buffer storage state of the detected media player. In addition, the media player 101 can smoothly reproduce the media content without interrupting the media content by measuring the time required for the segment.

그리고, 미디어 플레이어(101)는 파악한 세그먼트의 상태 정보 및 버퍼 저장 상태에 대한 정보를 기반으로 서버(106)에 미디어 콘텐츠의 세그먼트를 요청할 수 있다. 이에 서버(106)는 미디어 플레이어(101)의 요청에 대응하여 해당 미디어 콘텐츠의 세그먼트를 미디어 플레이어(101)에 전달할 수 있다. 일례로, 미디어 플레이어(101)는 세그먼트에 대한 요청 시간을 기반으로 서버(106)로 HTTP 프로토콜을 통해 세그먼트를 요청할 수 있다. 그리고, 서버(106)는 미디어 플레이어(101)로부터 요청 받은 HTTP 요청에 대한 응답으로 해당 세그먼트를 미디어 플레이어(101)에 요청할 수 있다.The media player 101 may request the segment of the media content to the server 106 based on the information on the state of the segment and the buffer storage state. The server 106 may then transmit a segment of the corresponding media content to the media player 101 in response to a request from the media player 101. In one example, the media player 101 may request a segment via the HTTP protocol to the server 106 based on the request time for the segment. The server 106 may request the media player 101 for the segment in response to the HTTP request received from the media player 101. [

단계(204)에서 미디어 플레이어(101)는 서버(106)로부터 수신한 미디어 콘텐츠의 세그먼트를 버퍼에 저장할 수 있다. 그리고, 미디어 플레이어(101)는 버퍼에 저장된 세그먼트의 순서에 따라 디스플레이 할 수 있다. 일례로, 미디어 플레이어(101)는 버퍼에 버퍼링 된 세그먼트를 디코딩하여 웹 브라우저 상에 렌더링함으로써, 해당 세그먼트를 디스플레이 할 수 있다.In step 204, the media player 101 may store a segment of the media content received from the server 106 in a buffer. And, the media player 101 can display according to the order of the segments stored in the buffer. In one example, the media player 101 may display the segment by decoding the buffered segment in the buffer and rendering it on the web browser.

그리고, 단계(205)에서 미디어 플레이어(101)는 실시간으로 세그먼트의 재생 시점에 대한 변경 여부를 확인할 수 있다. 단계(206)에서 재생 시점에 대한 변경 여부가 확인되면, 미디어 플레이어(101)는 기 파악한 미디어 콘텐츠의 상태 정보 및 버터의 저장 상태를 파악할 수 있다. 이 때, 미디어 플레이어(101)는 세그먼트의 재생 시점의 변경에 따른 반응성을 향상시키기 위해, 단계(203)과 같이 세그먼트에 대한 요청 시간을 계산하지 않을 수 있다.Then, in step 205, the media player 101 can confirm whether or not the playback time of the segment is changed in real time. If it is determined in step 206 that the reproduction time is changed, the media player 101 can grasp the status information of the previously acquired media content and the storage status of the butter. At this time, the media player 101 may not calculate the request time for the segment as in step 203, in order to improve the responsiveness to the change of the playback point of the segment.

여기서, 미디어 플레이어(101)는 세그먼트의 재생 시점에 따른 변경 여부에 대한 확인 결과에 따라 다음과 같은 동작을 수행할 수 있다.Here, the media player 101 may perform the following operations according to the result of checking whether the segment is changed according to the playback point of time.

세그먼트의 재생 시점에 대한 변경이 확인되지 않은 경우, 미디어 플레이어(101)는 미디어 콘텐츠를 끊김 없이 제공하기 위해 버퍼의 언더플로우 방지를 고려하여 버퍼의 저장 상태에 따라 해당 세그먼트를 서버(106)에 요청할 수 있다.In the case where the change to the playback point of the segment is not confirmed, the media player 101 requests the server 106 for the segment in accordance with the storage state of the buffer in consideration of preventing the buffer from underflowing in order to seamlessly provide the media content .

반면, 세그먼트의 재생 시점에 대한 변경이 확인이 된 경우, 에서 미디어 플레이어(101)는 변경된 세그먼트의 재생 시점에 대응하여 서버(106)로 보다 신속하게 세그먼트를 요청할 수 있다. 그리고, 단계(207)에서 미디어 플레이어는 현재 버퍼에 저장된 세그먼트를 삭제할 수 있다. 그러나, 미디어 플레이어(101)는 버퍼에 버퍼링 된 세그먼트를 모두 삭제하게 되면 현재 재생 가능한 세그먼트가 존재하지 않기 때문에 재생의 끊김 형상이 발생할 수 있다. 따라서, 미디어 플레이어(101)는 서버(106)에 요청한 세그먼트가 수신되어 디스플레이 되기까지 걸기는 준비 시간을 고려하여 버퍼에 버퍼링 된 세그먼트를 삭제하지 않고, 최소한의 세그먼트를 남겨둘 수 있다. 즉, 미디어 플레이어(101)는 준비 시간을 고려하여 버퍼에 버퍼링된 세그먼트의 일부를 남겨둠에 따라 시점 변경에 따른 QoS 서비스를 향상시킬 수 있다.On the other hand, if the change to the playback point of the segment is confirmed, the media player 101 can request the segment to the server 106 more quickly in response to the playback point of the changed segment. Then, in step 207, the media player can delete the segment stored in the current buffer. However, if the media player 101 deletes all of the buffered segments in the buffer, the segmentation of the playback may occur because there is no segment currently reproducible. Accordingly, the media player 101 may leave a minimum segment without deleting the buffered segment in consideration of the preparation time to wait until the requested segment is received and displayed in the server 106. [ In other words, the media player 101 can improve the QoS service according to the change of view by leaving a part of the buffered segment in the buffer in consideration of the preparation time.

결국, 미디어 플레이어(101)는 미디어 콘텐츠의 세그먼트에 대한 재생 시점이 변경됨에 따라 디스플레이하는 동작까지 정지하는 것이 아니라, 재생 중이던 미디어 콘텐츠와 변경된 재생 시점에 해당하는 미디어 콘텐츠가 자연스럽게 연결되어 디스플레이 되도록 버퍼를 제어할 수 있다. 여기서, 세그먼트가 수신되어 재생되기까지 걸리는 준비 시간에 대해서는 도 3을 통해 자세히 설명하도록 한다.As a result, the media player 101 does not stop the display operation according to the change of the playback point of the segment of the media content. Instead, the media player 101 stores the media content that is being played back and the media content corresponding to the changed playback point, Can be controlled. Here, the preparation time taken until the segment is received and reproduced will be described in detail with reference to FIG.

그리고, 서버(106)는 미디어 플레이어(101)의 요청에 따라 해당 세그먼트를 전달할 수 있다.The server 106 may forward the segment according to a request from the media player 101. [

단계(208)에서 미디어 플레이어(101)는 서버(106)로부터 수신한 세그먼트를 버퍼에 저장하고, 버퍼에 저장된 세그먼트를 버퍼링한 후, 렌더링함으로써, 해당 세그먼트를 디스플레이 할 수 있다.In step 208, the media player 101 may store the segment received from the server 106 in a buffer, buffer the segment stored in the buffer, and render the segment, thereby displaying the segment.

도 3은 일실시예에 따른 미디어 플레이어의 버퍼에 저장된 미디어 콘텐츠에 대한 세그먼트를 설명하기 위한 도면이다.3 is a view for explaining a segment of a media content stored in a buffer of a media player according to an exemplary embodiment of the present invention.

도 3을 참고하면, 미디어 플레이어는 사용자에 의해 미디어 콘텐츠에 대한 재생 시점이 변경됨에 따라 미디어 콘텐츠 A에서 미디어 콘텐츠 B로 변경될 수 있다. 이 때, 미디어 플레이어는 세그먼트의 재생 시점에 대한 변경 여부에 따라 버퍼에 버퍼링된 세그먼트를 삭제할 수 있다. 하지만, 미디어 플레이어는 버퍼링 된 세그먼트 중 서버에 요청한 세그먼트가 수신되어 재생되기까지 걸리는 준비 시간 동안 디스플레이 될 최소한의 세그먼트를 남겨둘 수 있다.Referring to FIG. 3, the media player can be changed from the media content A to the media content B as the playback point of the media content is changed by the user. At this time, the media player can delete the segment buffered in the buffer depending on whether the segment is changed or not. However, the media player may leave a minimal segment to be displayed during the preparation time that it takes for the requested segment from the buffered segment to be received and played back to the server.

구체적으로, 미디어 플레이어는 다음과 같이 기재된 수학식1을 기반으로 준비 시간을 연산할 수 있다.Specifically, the media player can calculate the preparation time based on Equation (1) described below.

Figure pat00001
Figure pat00001

여기서, 수학식 1을 살펴보면

Figure pat00002
는 세그먼트의 남은 다운로드 시간에 관한 것으로, 세그먼트가 수신되어 재생되기까지 걸리는 준비 시간을 의미하고,
Figure pat00003
는 재생 중인 세그먼트 이후에 재생되는 세그먼트의 첫 프레임 요청 시간을 의미하며,
Figure pat00004
는 재생 중인 세그먼트의 현재 시간을 의미할 수 있다. 그리고,
Figure pat00005
는 DASH 기반 스트리밍 서비스에서 목표로 하는 미디어 콘텐츠를 제공하기 위한 버퍼링 시간을 의미할 수 있다. 그리고, 미디어 플레이어는 각각의 요소들을 조합하여 세그먼트가 수신되어 재생되기까지 걸리는 준비 시간을 최종적으로 측정할 수 있다.Here, as shown in Equation (1)
Figure pat00002
Quot; refers to the remaining download time of the segment, which means the preparation time taken for the segment to be received and reproduced,
Figure pat00003
Quot; refers to the first frame request time of a segment that is played after the segment being played,
Figure pat00004
May mean the current time of the segment being played. And,
Figure pat00005
May refer to a buffering time for providing a target media content in a DASH-based streaming service. Then, the media player can finally measure the preparation time required for the segments to be received and reproduced by combining the respective elements.

그리고, 미디어 플레이어는 다음과 같이 기재된 수학식2를 통해 최소한의 세그먼트를 연산할 수 있다.Then, the media player can calculate the minimum segment through Equation (2) described below.

Figure pat00006
Figure pat00006

수학식 2를 살펴보면, 는 준비 시간 동안 디스플레이 될 최소한의 세그먼트를 의미하며, 는 Media Segment Duration의 약자로 세그먼트의 재생시간을 의미할 수 있다.In Equation (2), denotes a minimum segment to be displayed during the preparation time, and " Media Segment Duration " is an abbreviation of a segment playback time.

결국, 미디어 플레이어는 수학식1 및 수학식2를 통하여 세그먼트의 재생시간 및 준비 시간을 고려하여 버퍼에 남겨둘 최소한의 세그먼트를 결정할 수 있다. 또한, 미디어 플레이어는 최소한의 세그먼트를 버퍼에 남겨둠으로써, 미디어 콘텐츠의 끊김 현상 없이 재생할 수 있으며, 재생 시점 변경에 따른 반응성을 향상 시킬 수 있다.As a result, the media player can determine the minimum segment to be left in the buffer in consideration of the playback time and the preparation time of the segment through Equation (1) and Equation (2). In addition, by leaving a minimum segment in the buffer, the media player can reproduce the media content without any interruption of the media content and improve the responsiveness according to the change of the playback time point.

따라서, 미디어 플레이어는 미디어 콘텐츠의 재생 시점이 변경됨에 따라 미디어 콘텐츠 A에 대한 버터의 세그먼트를 모두 삭제하는 것이 아니라, 미디어 콘텐츠 B가 디스플레이될 때까지의 준비 시간을 고려하여 미디어 콘텐츠 A에 대한 최소한의 세그먼트를 남겨둘 수 있다.Accordingly, the media player does not delete all the segments of the butter for the media content A as the playback point of the media content is changed, but rather deletes the segments of the butter for the media content A in consideration of the preparation time until the media content B is displayed You can leave a segment.

도 4는 일실시예에 따른 미디어 플레이어의 구현하기 위한 세부 구성도를 도시한 도면이다.FIG. 4 is a detailed block diagram of a media player according to an exemplary embodiment of the present invention. Referring to FIG.

도 4를 참고하면, 미디어 플레이어(401)는 웹 사이트 모듈(402), 비디오 요소 모듈(403), 미디어 소스 모듈(404) 및 미디어 전달 모듈(405)을 포함할 수 있다.4, the media player 401 may include a website module 402, a video element module 403, a media source module 404, and a media delivery module 405.

웹 사이트 모듈(402)은 웹 브라우저를 통해 사용자에게 제공되는 인터페이스 일 수 있다. 비디오 요소 모듈(403)은 미디어 플레이어(401)의 버퍼에 저장되어 있는 미디어 콘텐츠의 세그먼트를 웹 브라우저의 화면에 렌더링할 수 있다. 비디오 요소 모듈(403)는 미디어 콘텐츠를 컨트롤할 수 있는 제어 기능을 제공할 수 있다. 일례로, 비디오 요소 모듈(403)는 미디어 콘텐츠에 대하여 재생, 멈춤, 일시정지, 시간 이동 및 시점 변경 등의 API를 통한 제어 기능을 제공할 수 있다.The web site module 402 may be an interface provided to the user through a web browser. The video element module 403 may render a segment of the media content stored in the buffer of the media player 401 on the screen of the web browser. The video element module 403 can provide a control function for controlling the media content. For example, the video element module 403 may provide control functions through APIs such as playback, pause, pause, time shift, and viewpoint change for the media content.

미디어 전달 모듈(405)은 비디오 요소 모듈(403)의 제어 기능에 따른 미디어 콘텐츠의 제어 요청에 대응하여 서버(411)와 연동할 수 있다. 여기서, 미디어 전달 모듈(405)은 미디어 플레이어(401)의 내부에 위치하거나, 별도의 장치에 포함되어 동작할 수 있다.The media delivery module 405 may interact with the server 411 in response to a control request of the media content according to the control function of the video element module 403. [ Here, the media delivery module 405 may be located inside the media player 401 or may be included in a separate device.

세부적으로 미디어 전달 모듈(405)은 MPD 파서부(406), 버퍼 상태 모니터링부(407), 세그먼트 요청부(408), 시점 변경부(409) 및 QoS 관리부(410)를 포함할 수 있다.In detail, the media delivery module 405 may include an MPD parser 406, a buffer status monitoring unit 407, a segment requesting unit 408, a view change unit 409, and a QoS management unit 410.

MPD 파서부(406)는 미디어 플레이어의 상태 정보 분석부에 매칭될 수 있다. MPD 파서부(406)는 미디어 콘텐츠의 제어 요청에 따라 서버(411)로부터 MPD 파일을 수신할 수 있다. MPD 파일은 미디어 콘텐츠에 대한 세부 정보를 포함하는 것으로, 카메라 시점, 세그먼트 정보, 해상도, 프레임률 등의 정보들을 포함할 수 있다. 그리고, MPD 파서부(406)는 수신한 MPD 파일을 파싱하여 미디어 콘텐츠를 분석할 수 있다.The MPD parser 406 may be matched to a status information analyzer of the media player. The MPD parser 406 may receive the MPD file from the server 411 according to the control request of the media content. The MPD file includes detailed information about media contents, and may include information such as camera viewpoint, segment information, resolution, frame rate, and the like. The MPD parser 406 parses the received MPD file to analyze the media content.

버퍼 상태 모니터링부(407)는 버퍼의 저장 상태를 모니터링 할 수 있다. 버퍼 상태 모니터링부(407)는 버퍼 상태 정보를 실시간으로 모니터링함으로써, 버퍼의 언더플로우를 방지할 수 있다.The buffer status monitoring unit 407 can monitor the storage status of the buffer. The buffer status monitoring unit 407 monitors the buffer status information in real time, thereby preventing buffer underflow.

세그먼트 요청부(408)는 미디어 플레이어의 제1 요청부에 매칭될 수 있다. 세그먼트 요청부(408)는 MPD 파서부(406)를 통해 분석한 미디어 콘텐츠에 대한 상태 정보와 버퍼 상태 모니터링부(407)를 통해 획득한 버퍼 상태 정보를 기반으로 서버(411)에 세그먼트를 요청할 수 있다.The segment requesting unit 408 may match the first request unit of the media player. The segment request unit 408 can request a segment from the server 411 based on the status information about the media content analyzed through the MPD parser 406 and the buffer status information acquired through the buffer status monitoring unit 407 have.

시점 변경부(409)는 미디어 플레이어의 재생 시점 확인부에 매칭될 수 있다. 미디어 소스 모듈(404)에 의한 제어 기능 중 재생 시점 변경과 관련된 이벤트를 수신할 수 있다. 즉, 시점 변경부(409)는 재생 중인 미디어 콘텐츠에 대하여 재생 시점에 대한 변경 여부를 확인할 수 있다.The viewpoint changing unit 409 may be matched with the playback point confirmation unit of the media player. It is possible to receive an event related to the change of the playback time among the control functions by the media source module 404. That is, the view change unit 409 can confirm whether or not the playback time of the media content being played back has changed.

QoS 관리부(410)는 미디어 플레이어의 제2 요청부에 매칭될 수 있다. QoS 관리부(410)는 MPD 파서부(406)를 통해 분석한 미디어 콘텐츠에 대한 상태 정보와 버퍼 상태 모니터링부(407)를 통해 획득한 버퍼 상태 정보 및 재생 시점에 대한 변경 여부를 고려하여 서버(411)로 세그먼트 요청을 수행할 수 있다. 이 때, QoS 관리부(410)는 재생 시점에 대한 변경 여부에 따라 버퍼의 언더플로우 방지를 위한 동작을 수행하거나, 세그먼트의 재생시간 및 준비 시간을 고려하여 버퍼에 최소한의 세그먼트를 남겨두는 동작을 수행할 수 있다.The QoS management unit 410 may match the second request unit of the media player. The QoS management unit 410 manages the state of the media content analyzed through the MPD parser 406, the buffer status information acquired through the buffer status monitoring unit 407, ). ≪ / RTI > At this time, the QoS management unit 410 performs an operation for preventing underflow of the buffer depending on whether the playback time is changed or performs an operation of leaving a minimum segment in the buffer in consideration of the playback time and the preparation time of the segment can do.

서버(411)는 HTTP 부(412), 저장소(413)를 포함할 수 있다. 서버(411)는 저장소(320)에 저장되어있는 미디어 콘텐츠와 관련된 정보를 기술하고 있는 MPD 파일을 웹 사이트 모듈(402)의 요청에 따라 제공할 수 있다.The server 411 may include an HTTP unit 412, a storage 413, and the like. The server 411 may provide an MPD file describing information related to the media content stored in the storage 320 according to a request from the website module 402. [

저장소(413)는 다양한 시점의 미디어 콘텐츠들이 DASH포멧의 세그먼트들로 조각내어 저장될 수 있다.The storage 413 may store media content at various points in time in segments of the DASH format.

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

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

101: 미디어 플레이어
102: 상태 정보 분석부
103: 제1 요청부
104: 재생 시점 확인부
105: 제2 요청부
106: 서버
101: Media Player
102: Status information analysis unit
103: first request unit
104:
105: second request unit
106: Server

Claims (1)

미디어 콘텐츠에 대한 제어 요청에 대응하여 서버로부터 수신한 미디어 콘텐츠의 상태 정보를 분석하는 단계;
상기 제어 요청에 따른 분석한 상태 정보 및 미디어 콘텐츠에 대한 요청 시간을 이용하여 서버에 미디어 콘텐츠의 세그먼트를 요청하는 단계;
미디어 플레이어를 통해 디스플레이 되는 상기 세그먼트의 재생 시점에 대한 변경 여부를 확인하는 단계; 및
상기 확인 결과에 따라 상기 분석한 상태 정보 및 상기 미디어 플레이어의 버퍼 상태 정보를 이용하여 변경하고자 하는 상기 세그먼트의 재생 시점에 따른 세그먼트를 상기 서버에 요청하는 단계
를 포함하고,
상기 서버는,
상기 요청된 미디어 콘텐츠의 재생 시점 또는 요청 시간에 따른 세그먼트를 상기 미디어 플레이어에 전달하는 미디어 플레이어의 재생 시점 변경 방법.
Analyzing status information of the media content received from the server in response to a control request for the media content;
Requesting a segment of the media content to the server using the analyzed status information and the request time for the media content according to the control request;
Confirming whether or not the playback time of the segment displayed through the media player is changed; And
Requesting the server for a segment according to a playback time point of the segment to be changed using the analyzed state information and the buffer state information of the media player according to the result of the checking
Lt; / RTI >
The server comprises:
And transmits a segment according to a playback time or a requested time of the requested media content to the media player.
KR1020140127805A 2014-06-20 2014-09-24 Playback point change method of user apparatus KR20150146353A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020140075452 2014-06-20
KR20140075452 2014-06-20

Publications (1)

Publication Number Publication Date
KR20150146353A true KR20150146353A (en) 2015-12-31

Family

ID=55129053

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140127805A KR20150146353A (en) 2014-06-20 2014-09-24 Playback point change method of user apparatus

Country Status (1)

Country Link
KR (1) KR20150146353A (en)

Similar Documents

Publication Publication Date Title
US8925021B2 (en) Method and system for trick play in over-the-top video delivery
KR101737325B1 (en) Method and apparatus for reducing decreasing of qualitly of experience in a multimedia system
JP5979483B2 (en) Content reproduction apparatus, content reproduction system, and content reproduction method
JP4944484B2 (en) Playback apparatus, playback method, and program
US8886765B2 (en) System and method for predicitive trick play using adaptive video streaming
ES2624910T3 (en) Client side sequence switching
KR20190019953A (en) System and method for providing variable speed in trick play mode
JP2009159644A (en) Progressive downloading of timed multimedia content
JP6021385B2 (en) Streaming media playback apparatus, streaming media playback method, and program
EP3251019A1 (en) Multiple protocol media streaming
TW201637455A (en) Video transmission method and video transmission apparatus
WO2016185998A1 (en) Delivery control device and delivery control method for abr delivery system content delivery
JP6305738B2 (en) Media playback control device, media playback control method, and program
KR20180033667A (en) Apparatus and method for providing streaming service
KR101863598B1 (en) Operating method of client for streaming service
TWI613912B (en) Video data file generation method and video data file generation apparatus
JP4222253B2 (en) Client terminal, streaming server, and streaming switching distribution system
JP5784538B2 (en) Streaming media playback device, media bit rate change determination method, and program
JP7162019B2 (en) DATA STREAMING METHOD, DATA STREAMING DEVICE, AND COMPUTER PROGRAM
JP6099715B2 (en) Streaming media playback apparatus, streaming media playback method, and program
JP6513054B2 (en) Client device of content delivery system, method and program for acquiring content
JP2018523341A (en) System and method for transmitting video data from server to client
JP2017098706A (en) Receiving device, segment acquisition method and program
KR20150146353A (en) Playback point change method of user apparatus
CN105007521A (en) Method and device for playing TS (Transport Stream) video

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination