KR102065035B1 - Server, method and media play device for providing time shift service - Google Patents

Server, method and media play device for providing time shift service Download PDF

Info

Publication number
KR102065035B1
KR102065035B1 KR1020180108682A KR20180108682A KR102065035B1 KR 102065035 B1 KR102065035 B1 KR 102065035B1 KR 1020180108682 A KR1020180108682 A KR 1020180108682A KR 20180108682 A KR20180108682 A KR 20180108682A KR 102065035 B1 KR102065035 B1 KR 102065035B1
Authority
KR
South Korea
Prior art keywords
video stream
time
buffer
time information
information
Prior art date
Application number
KR1020180108682A
Other languages
Korean (ko)
Inventor
유용선
배효승
정경희
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020180108682A priority Critical patent/KR102065035B1/en
Application granted granted Critical
Publication of KR102065035B1 publication Critical patent/KR102065035B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A server for providing a time shift service comprises a receiving part for receiving an image stream of a broadcast image from a broadcast server, a storage part for storing the received image stream in a predetermined buffer unit, a determination part for determining whether the image stream stored in the buffer exceeds a predetermined unit playback time, a request part for receiving a time shift request for the broadcast image from a media playback device, a detection part which detects a buffer corresponding to the visual information of the playback time point requested by the time shift among a plurality of buffers in which the image stream is stored, and a providing part for providing the image stream stored in the detected buffer to the media playback device. The storage part stores the image stream in the buffer according to a determination result of the determination part. Therefore, the present invention allows a user to play from a desired playback time.

Description

타임 쉬프트 서비스를 제공하는 서버, 방법 및 미디어 재생 장치{SERVER, METHOD AND MEDIA PLAY DEVICE FOR PROVIDING TIME SHIFT SERVICE}SERVER, METHOD AND MEDIA PLAY DEVICE FOR PROVIDING TIME SHIFT SERVICE}

본 발명은 타임 쉬프트 서비스를 제공하는 서버, 방법 및 미디어 재생 장치에 관한 것이다. The present invention relates to a server, a method and a media playback apparatus for providing a time shift service.

IPTV(Internet Protocol Television)란 초고속 인터넷 망을 이용하여 영화와 방송프로그램과 같은 동영상 컨텐츠와 인터넷 검색 등 다양한 멀티미디어 컨텐츠를 텔레비전 수상기로 제공하는 양방향 방송 및 통신 서비스이다. 시청자는 리모컨을 이용하여 간단하게 인터넷 검색은 물론 영화 감상, 홈쇼핑, 홈뱅킹, 온라인 게임, MP3 등 인터넷이 제공하는 다양한 컨텐츠 및 부가 서비스를 IPTV로부터 제공받을 수 있다. IPTV (Internet Protocol Television) is a two-way broadcasting and communication service that provides various video contents such as movies and broadcasting programs and various multimedia contents such as Internet search to a television receiver using a high-speed internet network. Viewers can use the remote control to receive various contents and additional services provided by the Internet such as movie watching, home shopping, home banking, online games, MP3, etc. from IPTV.

최근의 IPTV는 타임 시프트(time shift) 기능을 통해 사용자가 실시간 채널의 시청 중 일시정지, 되감기, 빨리감기 등의 기능을 통해 사용자가 원하는 시점부터 시청이 재개되도록 하는 서비스를 제공하고 있다. Recently, IPTV provides a service that allows a user to resume viewing from a point in time desired by a user through a time shift function, such as pausing, rewinding, and fast forwarding while watching a real-time channel.

이러한 타임 시프트 기능과 관련하여, 선행기술인 한국공개특허 제 2008-0050477호는 타임 시프트 텔레비전을 구현하기 위한 방법, 장치, 및 시스템을 개시하고 있다. In relation to such a time shift function, Korean Patent Laid-Open Publication No. 2008-0050477 discloses a method, apparatus, and system for implementing a time shift television.

그러나 타임 시프트 기능을 통해 사용자가 원하는 시청 시점으로 이동하여 영상을 제공하고자 하는 경우, 영상과 음성이 일치하지 않거나, 송출 먹서(muxer)에서 패킷 드롭(packet drop) 등의 발생 등의 이유로 인해 사용자가 원하는 시청 시점에 해당하는 영상을 제공하기 어려워 진다는 단점을 가지고 있다. However, if the user wants to move to the desired viewing point and provide the video through the time shift function, the user may be unable to match the video or the audio, or the packet may be dropped due to a packet drop in a muxer. It has a disadvantage in that it becomes difficult to provide an image corresponding to a desired viewing point.

실시간 채널의 영상 스트림을 실시간으로 저장하여 사용자가 원하는 재생 시점부터 재생되도록 하는 타임 쉬프트 서비스를 제공하는 서버, 방법 및 미디어 재생 장치를 제공하고자 한다. The present invention provides a server, a method, and a media playback apparatus that provide a time shift service for storing a video stream of a real-time channel in real time to be played from a desired playback time point.

사용자로부터 타임 쉬프트 서비스를 요청받으면, 타임 쉬프트 서비스를 요청받은 재생 시점의 시각 정보에 기초하여 재생 시점의 시각 정보와 대응하는 영상 스트림의 내부 시간 정보를 탐색하여 사용자가 원하는 재생 시점의 위치에 해당하는 영상 스트림을 정확히 제공할 수 있도록 하는 타임 쉬프트 서비스를 제공하는 서버, 방법 및 미디어 재생 장치를 제공하고자 한다.When the time shift service is requested from the user, the internal time information of the video stream corresponding to the time information of the playback time is searched based on the time information of the playback time when the time shift service is requested to correspond to the position of the playback time desired by the user. The present invention provides a server, a method, and a media playback device for providing a time shift service for accurately providing a video stream.

사용자가 실시간 채널의 시청 중 놓친 부분을 탐색하여 놓친 부분부터 다시 볼 수 있도록 하는 타임 쉬프트 서비스를 제공하는 서버, 방법 및 미디어 재생 장치를 제공하고자 한다. The present invention provides a server, a method, and a media playback device that provide a time shift service for a user to search for a missed portion of a real-time channel and view the missed portion again.

영상 스트림의 시작 시점에 해당하는 절대 시간 정보와 영상 스트림을 구성하는 프레임에 대한 내부 시간 정보를 매핑하여 사용자가 원하는 재생 시점의 위치에 해당하는 영상 스트림을 제공하되, 프레임에 대한 내부 시간 정보에서 일정 주기로 발생되는 리셋(reset) 또는 송출 먹서에서 발생되는 패킷 드롭(packet drop) 등의 이유로 매핑 정보가 어긋난 경우 매핑 정보를 업데이트하여 영상 스트림을 정확히 제공할 수 있도록 하는 타임 쉬프트 서비스를 제공하는 서버, 방법 및 미디어 재생 장치를 제공하고자 한다. Provides the video stream corresponding to the position of the playback time point desired by the user by mapping the absolute time information corresponding to the start time of the video stream and the internal time information of the frame constituting the video stream, but is fixed in the internal time information of the frame. Server, a method for providing a time shift service to accurately provide a video stream by updating the mapping information when the mapping information is misaligned due to a periodic reset or a packet drop caused by a transmission packet. And a media playback device.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.  However, the technical problem to be achieved by the present embodiment is not limited to the technical problems as described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 방송 서버로부터 방송 영상의 영상 스트림을 수신하는 수신부, 상기 수신한 영상 스트림을 기설정된 버퍼 단위로 저장하는 저장부, 상기 버퍼에 저장된 영상 스트림이 기설정된 단위 재생 시간을 초과하는지 여부를 판단하는 판단부, 미디어 재생 장치로부터 상기 방송 영상에 대한 타임 쉬프트를 요청받는 요청부, 상기 영상 스트림이 저장된 복수의 버퍼 중 상기 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 버퍼를 검출하는 검출부 및 상기 검출된 버퍼에 저장된 영상 스트림을 상기 미디어 재생 장치로 제공하는 제공부를 포함하고, 상기 저장부는 상기 판단부의 판단 결과에 따라 상기 영상 스트림을 상기 버퍼에 저장하는 것인 타임 쉬프트 서비스 제공 서버를 제공할 수 있다. As a means for achieving the above technical problem, an embodiment of the present invention, a receiver for receiving a video stream of a broadcast video from a broadcast server, a storage unit for storing the received video stream in a predetermined buffer unit, the buffer A determination unit for determining whether the video stream stored in the storage unit exceeds a preset unit playback time, a request unit for requesting a time shift for the broadcast video from a media playback device, and performing the time shift among a plurality of buffers in which the video stream is stored. A detector which detects a buffer corresponding to the time information of the requested playback time point, and a providing unit which provides an image stream stored in the detected buffer to the media player, wherein the storage unit is configured to determine the image stream according to a determination result of the determination unit. Storing a time shift service providing server in the buffer Can provide.

본 발명의 다른 실시예는, 방송 서버로부터 방송 영상의 영상 스트림을 수신하는 단계, 상기 수신한 영상 스트림이 버퍼에 설정된 단위 재생 시간을 초과하는지에 대한 여부를 판단하는 단계, 상기 영상 스트림이 상기 단위 재생 시간을 초과하는지 여부에 따라 상기 영상 스트림을 상기 버퍼에 저장하는 단계, 미디어 재생 장치로부터 상기 방송 영상에 대한 타임 쉬프트를 요청받는 단계, 상기 영상 스트림이 저장된 복수의 버퍼 중 상기 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 어느 하나의 영상 스트림이 저장된 버퍼를 검출하는 단계 및 상기 검출된 버퍼에 저장된 영상 스트림을 상기 미디어 재생 장치로 제공하는 단계를 포함하는 타임 쉬프트 서비스 제공 방법을 제공할 수 있다. According to another embodiment of the present invention, receiving a video stream of a broadcast video from a broadcast server, determining whether the received video stream exceeds the unit playback time set in the buffer, the video stream is the unit Storing the video stream in the buffer according to whether a play time is exceeded; receiving a time shift request for the broadcast video from a media playback device; receiving the time shift request from among a plurality of buffers in which the video stream is stored A method of providing a time shift service may include detecting a buffer in which one video stream corresponding to time information of a playback time is stored and providing the video stream stored in the detected buffer to the media player. have.

본 발명의 또 다른 실시예는, 방송 서버로부터 방송 영상의 영상 스트림을 수신하는 영상 수신부, 상기 수신한 영상 스트림을 디스플레이의 제 1 영역에 표시하고, 상기 방송 영상에 대한 타임 라인을 상기 디스플레이의 제 2 영역에 표시하는 표시부, 사용자로부터 상기 타임 라인에 대한 재생 시점의 이동을 통해 상기 방송 영상에 대한 타임 쉬프트 서비스를 요청받는 요청부, 상기 타임 쉬프트를 요청받은 재생 시점의 시각 정보를 타임 쉬프트 서비스 제공 서버로 전송하는 전송부 및 상기 타임 쉬프트 서비스 제공 서버로부터 상기 타임 쉬프트된 재생 시점의 영상 스트림을 수신하는 수신부를 포함하되, 상기 영상 스트림은 버퍼에 설정된 단위 재생 시간의 초과 여부 기초하여 상기 버퍼에 저장되고, 상기 저장된 복수의 버퍼 중 상기 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 어느 하나의 영상 스트림이 저장된 버퍼가 검출되고, 상기 검출된 버퍼에 저장된 영상 스트림이 제공되는 것인 미디어 재생 장치를 제공할 수 있다. According to another embodiment of the present invention, an image receiver for receiving an image stream of a broadcast image from a broadcast server, displays the received image stream in a first area of the display, and displays a timeline for the broadcast image. A display unit displayed in two regions, a request unit requesting a time shift service for the broadcast video through movement of a playback time point for the timeline, and providing time shift service time information of the playback time point for which the time shift is requested And a transmitting unit for transmitting to a server and a receiving unit for receiving the video stream of the time-shifted playback time from the time shift service providing server, wherein the video stream is stored in the buffer based on whether or not the unit playback time set in the buffer is exceeded. The time shift of the stored plurality of buffers Is any one of a video stream is stored in the buffer corresponding to the time information of received blue playback position detection can be provided to the media reproduction apparatus is a video stream stored on the detected buffer provided.

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-mentioned means for solving the problems are merely exemplary, and should not be construed to limit the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and detailed description of the invention.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 실시간 채널의 영상 스트림을 실시간으로 저장하여 사용자가 원하는 재생 시점부터 재생되도록 하는 타임 쉬프트 서비스를 제공하는 서버, 방법 및 미디어 재생 장치를 제공할 수 있다. According to any one of the above-described means for solving the problems of the present invention, it is possible to provide a server, a method and a media playback apparatus for providing a time shift service for storing a video stream of a real-time channel in real time to be played from a desired playback point of time. have.

사용자로부터 타임 쉬프트 서비스를 요청받으면, 타임 쉬프트 서비스를 요청받은 재생 시점의 시각 정보에 기초하여 재생 시점의 시각 정보와 대응하는 영상 스트림의 내부 시간 정보를 탐색하여 사용자가 원하는 재생 시점의 위치에 해당하는 영상 스트림을 정확히 제공할 수 있도록 하는 타임 쉬프트 서비스를 제공하는 서버, 방법 및 미디어 재생 장치를 제공할 수 있다.When the time shift service is requested from the user, the internal time information of the video stream corresponding to the time information of the playback time is searched based on the time information of the playback time when the time shift service is requested to correspond to the position of the playback time desired by the user. A server, a method, and a media playback apparatus for providing a time shift service for accurately providing a video stream can be provided.

사용자가 실시간 채널의 시청 중 놓친 부분을 탐색하여 놓친 부분부터 다시 볼 수 있도록 하는 타임 쉬프트 서비스를 제공하는 서버, 방법 및 미디어 재생 장치를 제공할 수 있다. A server, a method, and a media playback device for providing a time shift service for allowing a user to search for a missed portion of a real-time channel and view it again from the missed portion can be provided.

영상 스트림의 시작 시점에 해당하는 절대 시간 정보와 영상 스트림을 구성하는 프레임에 대한 내부 시간 정보를 매핑하여 사용자가 원하는 재생 시점의 위치에 해당하는 영상 스트림을 제공하되, 프레임에 대한 내부 시간 정보에서 일정 주기로 발생되는 리셋(reset) 또는 송출 먹서에서 발생되는 패킷 드롭(packet drop) 등의 이유로 매핑 정보가 어긋난 경우 매핑 정보를 업데이트하여 영상 스트림을 정확히 제공할 수 있도록 하는 타임 쉬프트 서비스를 제공하는 서버, 방법 및 미디어 재생 장치를 제공할 수 있다. Provides the video stream corresponding to the position of the playback time point desired by the user by mapping the absolute time information corresponding to the start time of the video stream and the internal time information of the frame constituting the video stream, but is fixed in the internal time information of the frame. Server, a method for providing a time shift service to accurately provide a video stream by updating the mapping information when the mapping information is misaligned due to a periodic reset or a packet drop caused by a transmission packet. And a media playback device.

도 1은 본 발명의 일 실시예에 따른 타임 쉬프트 서비스 제공 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 타임 쉬프트 서비스 제공 서버의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 영상 스트림의 절대 시간 정보와 영상 스트림을 구성하는 프레임에 대한 내부 시간 정보를 매핑하는 과정을 설명하기 위한 예시적인 도면이다.
도 4는 본 발명의 일 실시예에 따른 타임 쉬프트 서비스를 제공하기 위한 세션을 생성하는 과정을 설명하기 위한 동작 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 타임 쉬프트 서비스 제공 서버에서 영상 스트림을 버퍼에 저장하는 방법의 순서도이다.
도 6은 본 발명의 일 실시예에 따른 타임 쉬프트 서비스 제공 서버에서 미디어 재생 장치로부터 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 버퍼를 검출하여 검출된 버퍼에 저장된 영상 스트림을 제공하는 방법의 순서도이다.
도 7은 본 발명의 일 실시예에 따른 타임 쉬프트 서비스 제공 서버에서 타임 쉬프트 서비스를 제공하는 방법의 순서도이다.
도 8은 본 발명의 일 실시예에 따른 미디어 재생 장치의 구성도이다.
도 9는 본 발명의 일 실시예에 따른 미디어 재생 장치에서 타임 쉬프트 서비스를 제공하는 방법의 순서도이다.
1 is a block diagram of a system for providing time shift service according to an embodiment of the present invention.
2 is a block diagram of a time shift service providing server according to an exemplary embodiment of the present invention.
FIG. 3 is an exemplary diagram for explaining a process of mapping absolute time information of an image stream and internal time information of a frame constituting a video stream according to an embodiment of the present invention.
4 is a flowchart illustrating an operation of creating a session for providing a time shift service according to an embodiment of the present invention.
5 is a flowchart illustrating a method of storing an image stream in a buffer in a server for providing a time shift service according to an embodiment of the present invention.
6 is a diagram illustrating a method of providing a video stream stored in a detected buffer by detecting a buffer corresponding to time information of a playback time when a time shift is requested from a media playback apparatus in a time shift service providing server according to an embodiment of the present invention; Flowchart.
7 is a flowchart illustrating a method of providing a time shift service in a time shift service providing server according to an embodiment of the present invention.
8 is a block diagram of a media playback apparatus according to an embodiment of the present invention.
9 is a flowchart illustrating a method of providing a time shift service in a media playback apparatus according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. . In addition, when a part is said to "include" a certain component, which means that it may further include other components, except to exclude other components, unless specifically stated otherwise, one or more other features It is to be understood that the present disclosure does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, parts, or combinations thereof.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.In the present specification, the term 'unit' includes a unit realized by hardware, a unit realized by software, and a unit realized by both. In addition, one unit may be realized using two or more pieces of hardware, and two or more units may be realized by one piece of hardware.

본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.Some of the operations or functions described as being performed by a terminal or a device in the present specification may instead be performed in a server connected to the terminal or device. Similarly, some of the operations or functions described as being performed by the server may be performed by a terminal or a device connected to the server.

이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다. Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 타임 쉬프트 서비스 제공 시스템의 구성도이다. 도 1을 참조하면, 타임 쉬프트 서비스 제공 시스템(1)은 방송 서버(110), 타임 쉬프트 서비스 제공 서버(120) 및 미디어 재생 장치(130)를 포함할 수 있다. 방송 서버(110), 타임 쉬프트 서비스 제공 서버(120) 및 미디어 재생 장치(130)는 타임 쉬프트 제공 시스템(1)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것이다. 1 is a block diagram of a system for providing time shift service according to an embodiment of the present invention. Referring to FIG. 1, the time shift service providing system 1 may include a broadcast server 110, a time shift service providing server 120, and a media playback device 130. The broadcast server 110, the time shift service providing server 120, and the media playback device 130 exemplarily illustrate components that can be controlled by the time shift providing system 1.

도 1의 타임 쉬프트 서비스 제공 시스템(1)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 미디어 재생 장치(130)는 타임 쉬프트 서비스 제공 서버(120)와 동시에 또는 시간 간격을 두고 연결될 수 있다. Each component of the time shift service providing system 1 of FIG. 1 is generally connected via a network. For example, as illustrated in FIG. 1, the media playback device 130 may be connected to the time shift service providing server 120 at the same time or at a time interval.

네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다. A network refers to a connection structure capable of exchanging information between nodes such as terminals and servers, and includes a local area network (LAN), a wide area network (WAN), and the Internet (WWW: World). Wide Web), wired / wireless data communication network, telephone network, wired / wireless television communication network, and the like. Examples of wireless data networks include 3G, 4G, 5G, 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), World Interoperability for Microwave Access (WIMAX), Wi-Fi, Bluetooth communication, Infrared communication, Ultrasound Communication, visible light communication (VLC), liFi (LiFi), and the like, but are not limited thereto.

방송 서버(110)는 방송 영상의 영상 스트림을 타임 쉬프트 서비스 제공 서버(120)로 전송할 수 있다. 또한, 방송 서버(110)는 방송 영상의 영상 스트림을 미디어 재생 장치(130)로 전송할 수 있다. The broadcast server 110 may transmit the video stream of the broadcast video to the time shift service providing server 120. In addition, the broadcast server 110 may transmit the video stream of the broadcast video to the media playback device 130.

타임 쉬프트 서비스 제공 서버(120)는 방송 서버(110)로부터 방송 영상의 영상 스트림을 수신할 수 있다. The time shift service providing server 120 may receive an image stream of a broadcast video from the broadcast server 110.

타임 쉬프트 서비스 제공 서버(120)는 영상 스트림으로부터 영상 스트림을 구성하는 프레임에 대한 내부 시간 정보를 추출할 수 있다. 이 때, 타임 쉬프트 서비스 제공 서버(120)는 영상 스트림의 시작 시점에 해당하는 절대 시간 정보와 추출된 내부 시간 정보를 매핑할 수 있다. The time shift service providing server 120 may extract internal time information of frames constituting the video stream from the video stream. At this time, the time shift service providing server 120 may map the absolute time information corresponding to the start time of the video stream and the extracted internal time information.

타임 쉬프트 서비스 제공 서버(120)는 수신한 영상 스트림을 기설정된 버퍼 단위로 저장할 수 있다. 예를 들어, 타임 쉬프트 서비스 제공 서버(120)는 버퍼에 저장된 영상 스트림이 기설정된 단위 재생 시간을 초과하는지 여부를 판단하고, 판단 결과에 따라 영상 스트림을 버퍼에 저장할 수 있다. 이 때, 타임 쉬프트 서비스 제공 서버(120)는 영상 스트림이 버퍼에 설정된 단위 재생 시간을 초과하는 경우, 영상 스트림의 내부 시간 정보가 연속적인지에 대한 여부를 더 판단할 수 있다. 예를 들어, 타임 쉬프트 서비스 제공 서버(120)는 영상 스트림의 내부 시간 정보가 연속적인 경우, 신규 버퍼를 생성하여 생성된 신규 버퍼에 영상 스트림을 저장할 수 있다. 다른 예를 들어, 타임 쉬프트 서비스 제공 서버(120)는 영상 스트림의 내부 시간 정보가 불연속적인 경우, 영상 스트림의 절대 시간 정보와 영상 스트림의 내부 시간 정보가 매핑된 매핑 정보를 업데이트할 수 있다. The time shift service providing server 120 may store the received video stream in a predetermined buffer unit. For example, the time shift service providing server 120 may determine whether the video stream stored in the buffer exceeds a preset unit playback time, and store the video stream in the buffer according to the determination result. In this case, when the video stream exceeds the unit playback time set in the buffer, the time shift service providing server 120 may further determine whether the internal time information of the video stream is continuous. For example, when the internal time information of the video stream is continuous, the time shift service providing server 120 may generate a new buffer and store the video stream in the new buffer generated. For another example, when the internal time information of the video stream is discontinuous, the time shift service providing server 120 may update mapping information in which absolute time information of the video stream and internal time information of the video stream are mapped.

타임 쉬프트 서비스 제공 서버(120)는 버퍼에 저장된 영상 스트림의 내부 시간 정보, 영상 스트림의 절대 시간 정보와 영상 스트림의 내부 시간 정보가 매핑된 매핑 정보, 영상 스트림의 조각 개수, 타임 쉬프트 서비스로 제공 가능한 전체 시간 정보 등을 메타데이터로 저장할 수 있다. The time shift service providing server 120 may provide the internal time information of the video stream stored in the buffer, the mapping information in which the absolute time information of the video stream and the internal time information of the video stream are mapped, the number of fragments of the video stream, and the time shift service. Total time information and the like can be stored as metadata.

타임 쉬프트 서비스 제공 서버(120)는 저장된 메타데이터에 기초하여 영상 스트림에 대한 인덱스 정보를 관리할 수 있다. 인덱스 정보는 영상 스트림의 시작 시점에 해당하는 절대 시간 정보 및 버퍼 번호 중 적어도 하나를 포함하는 제 1 인덱스 및 각 버퍼 내 패킷 번호 및 영상 스트림의 내부 시간 정보를 포함하는 제 2 인덱스로 구성될 수 있다.The time shift service providing server 120 may manage index information of the video stream based on the stored metadata. The index information may include a first index including at least one of absolute time information and a buffer number corresponding to a start point of a video stream, and a second index including packet number and buffer internal time information of each buffer in each buffer. .

타임 쉬프트 서비스 제공 서버(120)는 미디어 재생 장치(130)로부터 방송 영상에 대한 타임 쉬프트를 요청받을 수 있다. The time shift service providing server 120 may receive a time shift request for the broadcast video from the media playback device 130.

타임 쉬프트 서비스 제공 서버(120)는 영상 스트림이 저장된 복수의 버퍼 중 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 버퍼를 검출할 수 있다. 예를 들어, 타임 쉬프트 서비스 제공 서버(120)는 인덱스 정보에 기초하여 복수의 버퍼 중 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 어느 하나의 영상 스트림이 저장된 버퍼를 검출할 수 있다. The time shift service providing server 120 may detect a buffer corresponding to the time information of the playback time point at which the time shift is requested, among the plurality of buffers in which the video stream is stored. For example, the time shift service providing server 120 may detect a buffer in which any one video stream corresponding to the time information of the playback time when the time shift is requested is stored, from among the plurality of buffers, based on the index information.

타임 쉬프트 서비스 제공 서버(120)는 검출된 버퍼에 저장된 영상 스트림을 미디어 재생 장치(130)로 제공할 수 있다. The time shift service providing server 120 may provide an image stream stored in the detected buffer to the media playback device 130.

미디어 재생 장치(130)는 방송 서버(110)로부터 방송 영상의 영상 스트림을 수신할 수 있다. The media playback device 130 may receive an image stream of a broadcast video from the broadcast server 110.

미디어 재생 장치(130)는 수신한 영상 스트림을 디스플레이의 제 1 영역에 표시하고, 방송 영상에 대한 타임 라인을 디스플레이의 제 2 영역에 표시할 수 있다. The media playback device 130 may display the received video stream in the first area of the display and display the timeline for the broadcast video in the second area of the display.

미디어 재생 장치(130)는 사용자로부터 타임 라인에 대한 재생 시점의 이동을 통해 방송 영상에 대한 타임 쉬프트 서비스를 요청받을 수 있다. The media playback device 130 may receive a request for a time shift service for the broadcast video from the user by moving the playback time point on the timeline.

미디어 재생 장치(130)는 타임 쉬프트를 요청받은 재생 시점의 시각 정보를 타임 쉬프트 서비스 제공 서버(120)로 전송할 수 있다. The media playback device 130 may transmit the time information of the playback time point at which the time shift is requested to the time shift service providing server 120.

미디어 재생 장치(130)는 타임 쉬프트 서비스 제공 서버(120)로부터 타임 쉬프트된 재생 시점의 영상 스트림을 수신할 수 있다. The media playback device 130 may receive a video stream of the time shifted playback time from the time shift service providing server 120.

도 2는 본 발명의 일 실시예에 따른 타임 쉬프트 서비스 제공 서버의 구성도이다. 도 2를 참조하면, 타임 쉬프트 서비스 제공 서버(120)는 수신부(210), 추출부(220), 매핑부(230), 저장부(240), 판단부(250), 요청부(260), 검출부(270), 제공부(280) 및 관리부(290)를 포함할 수 있다. 2 is a block diagram of a time shift service providing server according to an exemplary embodiment of the present invention. Referring to FIG. 2, the time shift service providing server 120 includes a receiver 210, an extractor 220, a mapping unit 230, a storage unit 240, a determination unit 250, a requesting unit 260, The detector 270, the provider 280, and the manager 290 may be included.

수신부(210)는 방송 서버(110)로부터 방송 영상의 영상 스트림을 수신할 수 있다. 예를 들어, 수신부(210)는 방송 서버(110)로부터 UDP(User Datagram Protocol), RTP(Real-time Transport Protocol) 등의 프로토콜을 통해 멀티캐스트(multi-cast) 또는 유니캐스트(uni-cast)와 같은 방식을 이용하여 방송 영상의 영상 스트림을 수신할 수 있다. The receiver 210 may receive an image stream of a broadcast image from the broadcast server 110. For example, the receiver 210 may multi-cast or unicast from the broadcast server 110 through a protocol such as User Datagram Protocol (UDP) or Real-time Transport Protocol (RTP). The video stream of the broadcast video may be received using the same method as described above.

추출부(220)는 영상 스트림으로부터 영상 스트림을 구성하는 프레임에 대한 내부 시간 정보를 추출할 수 있다. 여기서, 영상 스트림을 구성하는 프레임에 대한 내부 시간 정보는 예를 들어, PCR(Program Reference Clock) 정보 또는 PTS(Presentation Time Stamp) 정보를 포함할 수 있다. PCR 정보는 복호기의 타이밍 기준이 되는 트랜스포트 스트림(transport stream) 내의 타임 스탬프로, 하나의 프로그램에 대한 기준이 되는 시간을 의미한다. PTS 정보는 멀티미디어 데이터의 전송에서 영상 신호와 음성 신호의 동기 재생을 위한 시간 정보를 의미한다. 이는, 영상 신호와 음성 신호가 압축되어 전송될 경우, 영상 신호의 압축 및 복원에 소요되는 시간이 음성 신호의 압축 및 복원에 소요되는 시간보다 오래 걸리게 됨에 따라 미디어 재생 장치(130)에서 재생 시 영상과 음성의 불일치 현상이 일어나게 된다. 이를 해결하기 위해, 영상이나 음성 신호를 복호화한 후, PTS 정보를 통해 재생할 시간을 지정해줄 수 있게 된다. The extractor 220 may extract internal time information of frames constituting the video stream from the video stream. Here, the internal time information of the frame constituting the video stream may include, for example, program reference clock (PCR) information or presentation time stamp (PTS) information. The PCR information is a time stamp in a transport stream that is a timing reference of the decoder and means a time that is a reference for one program. PTS information refers to time information for synchronous reproduction of a video signal and an audio signal in transmission of multimedia data. When the video signal and the audio signal are compressed and transmitted, the time required for compressing and restoring the video signal is longer than the time required for compressing and restoring the audio signal. There is a discrepancy between voice and voice. In order to solve this problem, after decoding the video or audio signal, it is possible to designate the playback time through the PTS information.

매핑부(230)는 영상 스트림의 시작 시점에 해당하는 절대 시간 정보와 추출된 내부 시간 정보를 매핑할 수 있다. 예를 들어, 매핑부(230)는 영상 스트림의 시작 시점에 해당하는 절대 시간 정보와 영상 스트림을 구성하는 프레임에 대한 PCR 정보 또는 PTS 정보를 매핑할 수 있다. The mapping unit 230 may map the absolute time information corresponding to the start time of the video stream and the extracted internal time information. For example, the mapping unit 230 may map absolute time information corresponding to the start time of the video stream and PCR information or PTS information on a frame constituting the video stream.

매핑부(230)는 영상 스트림의 내부 시간 정보가 불연속적인 경우, 영상 스트림의 절대 시간 정보와 영상 스트림의 내부 시간 정보가 매핑된 매핑 정보를 업데이트할 수 있다. 영상 스트림의 내부 시간 정보가 불연속적인 경우는 예를 들어, 영상 스트림의 내부 시간 정보(예를 들어, PTS 또는 PCR)가 일정 주기로 리셋(reset)이 발생되는 경우, 송출 먹서(muxer) 등에서 일시적으로 패킷 드롭(packet drop)이 발생되어 멀티캐스트 신호가 끊긴 후 재수신되는 경우 등을 포함할 수 있다. If the internal time information of the video stream is discontinuous, the mapping unit 230 may update the mapping information to which the absolute time information of the video stream and the internal time information of the video stream are mapped. When the internal time information of the video stream is discontinuous, for example, when the internal time information (for example, PTS or PCR) of the video stream is reset at a predetermined cycle, a muxer or the like is temporarily This may include a case in which a packet drop is generated and the multicast signal is disconnected and then re-received.

예를 들어, 버퍼에 기설정된 단위 재생 시간이 3초인 경우, 3초 정도의 패킷 드롭이 발생하게 되면, 사용자가 타임 쉬프트를 요청한 재생 시점을 기준으로 버퍼를 찾아갈 시, 3초의 재생 시간에 대한 오차가 발생된다. 예를 들어, 인덱스 정보가 [절대시간=20180709 182528], [단위 버퍼 번호=1200번], [PTS=31813초]와 같이 구성되었다고 가정하자. 다음 단위 버퍼에 대한 인덱스 정보가 [절대시간=20180709 182531], [단위 버퍼 번호=1201], [PTS=31819초]로 구성된 경우, 영상 스트림의 내부 시간 정보가 연속적이라면 'PTS=31813'+3초'이면 'PTS=31816초'가 되어야 하지만, 'PTS=31819초'이므로 패킷 드롭 등의 이유로 3초간의 불연속이 발생된 것을 알 수 있다. 이와 같이, 버퍼가 저장하고 있는 영상 스트림의 내부 시간 정보만으로 탐색하는 경우, 사용자가 원하는 재생 시점에 해당하는 실제 프레임 위치로 옮겨갈 수 없게 되므로, 이러한 매핑 정보의 오류를 방지하고자 매핑부(230)에서 영상 스트림의 절대 시간 정보와 영상 스트림의 내부 시간 정보가 매핑된 매핑 정보를 업데이트할 수 있다.For example, if the unit playback time set in the buffer is 3 seconds, if a packet drop of about 3 seconds occurs, when the user visits the buffer based on the playback time when the user requests a time shift, An error occurs. For example, suppose that the index information is configured as [absolute time = 20180709 182528], [unit buffer number = 1200], [PTS = 31813 sec]. If the index information for the next unit buffer consists of [Absolute time = 20180709 182531], [Unit buffer number = 1201], [PTS = 31819 seconds], if the internal time information of the video stream is continuous, 'PTS = 31813' + 3 Seconds', it should be 'PTS = 31816 seconds', but since' PTS = 31819 seconds', it can be seen that a discontinuity of 3 seconds occurred due to packet drop. As such, when searching with only the internal time information of the video stream stored in the buffer, since the user cannot move to the actual frame position corresponding to the desired playback time point, the mapping unit 230 to prevent the error of the mapping information. May update mapping information in which absolute time information of the video stream and internal time information of the video stream are mapped.

매핑부(230)는 매핑 정보가 업데이트된 경우, 타임 쉬프트 서비스로 제공 가능한 시간 정보 등을 업데이트할 수 있다. When the mapping information is updated, the mapping unit 230 may update time information that can be provided as a time shift service.

저장부(240)는 수신한 영상 스트림을 기설정된 버퍼 단위로 저장할 수 있다. 이 때, 영상 스트림은 실시간으로 암호화 처리가 수행된 후 기설정된 버퍼 단위로 저장될 수 있다. The storage unit 240 may store the received video stream in a predetermined buffer unit. In this case, the video stream may be stored in a predetermined buffer unit after encryption processing is performed in real time.

저장부(240)는 판단부(250)에서 버퍼에 저장된 영상 스트림이 기설정된 단위 재생 시간(예를 들어, 3초 또는 5초)을 초과하였는지에 대한 판단 결과에 따라 영상 스트림을 버퍼에 저장할 수 있다. The storage unit 240 may store the image stream in the buffer according to a determination result of whether the image stream stored in the buffer exceeds the preset unit playback time (for example, 3 seconds or 5 seconds) by the determination unit 250. .

저장부(240)는 영상 스트림의 내부 시간 정보가 연속적인 경우, 신규 버퍼를 생성하여 생성된 신규 버퍼에 영상 스트림을 저장할 수 있다. When the internal time information of the video stream is continuous, the storage unit 240 may generate a new buffer and store the video stream in the generated new buffer.

저장부(240)는 버퍼에 저장된 영상 스트림의 내부 시간 정보, 영상 스트림의 절대 시간 정보와 영상 스트림의 내부 시간 정보가 매핑된 매핑 정보, 영상 스트림의 조각 개수, 타임 쉬프트 서비스로 제공 가능한 전체 시간 정보 등을 메타데이터로 저장할 수 있다. 여기서, 타임 쉬프트 서비스로 제공 가능한 전체 시간 정보는 전체 버퍼의 길이로 계산될 수 있다. The storage unit 240 may store internal time information of the video stream stored in the buffer, mapping information in which the absolute time information of the video stream and the internal time information of the video stream are mapped, the number of fragments of the video stream, and the total time information that can be provided by the time shift service. Etc. can be stored as metadata. Here, the total time information that can be provided by the time shift service may be calculated as the length of the entire buffer.

판단부(250)는 버퍼에 저장된 영상 스트림이 기설정된 단위 재생 시간(예를 들어, 3초 또는 5초)을 초과하는지 여부를 판단할 수 있다. The determination unit 250 may determine whether the video stream stored in the buffer exceeds a preset unit playback time (eg, 3 seconds or 5 seconds).

판단부(250)는 영상 스트림이 버퍼에 설정된 단위 재생 시간을 초과하는 경우, 영상 스트림의 내부 시간 정보가 연속적인지에 대한 여부를 더 판단할 수 있다. If the video stream exceeds the unit playback time set in the buffer, the determination unit 250 may further determine whether the internal time information of the video stream is continuous.

요청부(260)는 미디어 재생 장치(130)로부터 방송 영상에 대한 타임 쉬프트를 요청받을 수 있다. The requester 260 may receive a time shift request for the broadcast image from the media playback device 130.

검출부(270)는 영상 스트림이 저장된 복수의 버퍼 중 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 버퍼를 검출할 수 있다. 여기서, 타임 쉬프트를 요청받은 재생 시점의 시각 정보는 예를 들어, 년-월-일-시-분-초(YYYYMMDD HHMMSS)로 구성될 수 있다. The detector 270 may detect a buffer corresponding to the time information of the reproduction time point at which the time shift is requested, among the plurality of buffers in which the video stream is stored. Here, the time information of the reproduction time point at which the time shift is requested may be configured as, for example, year-month-date-hour-minute-second (YYYYMMDD HHMMSS).

검출부(270)는 인덱스 정보에 기초하여 복수의 버퍼 중 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 어느 하나의 영상 스트림이 저장된 버퍼를 검출할 수 있다. 검출부(270)는 사용자가 타임 쉬프트를 요청한 재생 시점의 시각 정보에 대응하는 I 프레임 및 TS 패킷을 포함하는 영상 스트림이 저장된 버퍼를 검출할 수 있다. 검출부(270)는 인덱스 정보를 이용하여 버퍼를 검출함으로써, 복수의 버퍼에 저장된 영상 스트림 중 사용자가 원하는 재생 시점에 대한 영상 스트림이 저장된 버퍼를 빠르고 정확하게 검출할 수 있게 된다. The detector 270 may detect a buffer in which any one video stream corresponding to the time information of the reproduction time point at which the time shift is requested, is stored among the plurality of buffers based on the index information. The detector 270 may detect a buffer in which an image stream including an I frame and a TS packet corresponding to the time information at the time of reproduction when the user requests a time shift is stored. By detecting the buffer using the index information, the detection unit 270 can quickly and accurately detect the buffer in which the video stream corresponding to the playback time desired by the user among the video streams stored in the plurality of buffers is stored.

예를 들어, 인덱스 정보가 [절대시간=20180709 182528], [단위 버퍼 번호=1200번], [PTS=31813초]와 같이 구성되었다고 가정하자. For example, suppose that the index information is configured as [absolute time = 20180709 182528], [unit buffer number = 1200], [PTS = 31813 sec].

예를 들어, 사용자가 타임 쉬프트를 요청한 재생 시점의 시각 정보가 '20180709 182530'인 경우, 검출부(270)는 인덱스 정보에 기초하여 단위 버퍼 번호 '1200'으로 이동하여 정확한 영상 스트림의 내부 시간 정보로 이동할 수 있다. 다른 예를 들어, 사용자가 타임 쉬프트를 요청한 재생 시점의 시각 정보가 '20180709 182533'인 경우, 검출부(270)는 인덱스 정보에 기초하여 단위 버퍼 번호'1201'으로 이동한 후, PTS 값 '31819초'에 '2초'가 추가된 '31821초'의 위치의 프레임으로 이동할 수 있게 된다. For example, when the time information of the playback time point at which the user requests time shift is '20180709 182530', the detector 270 moves to the unit buffer number '1200' based on the index information and uses the correct internal time information of the video stream. I can move it. For another example, when the time information at the playback time when the user requests time shift is '20180709 182533', the detector 270 moves to the unit buffer number '1201' based on the index information, and then the PTS value '31819 seconds'. '2 seconds' added to '31821 seconds' can be moved to the frame of the position.

이와 같이, 영상 스트림의 시작 시점에 해당하는 절대 시간 정보와 영상 스트림을 구성하는 프레임에 대한 내부 시간 정보가 매핑되고, 이를 인덱스 정보를 통해 관리함으로써, 검출부(270)에서 인덱스 정보 및 매핑 정보를 통해 사용자가 원하는 재생 시점에 대응하는 영상 스트림이 저장된 버퍼를 빠르고 정확하게 검출할 수 있게 된다는 장점을 갖는다. As such, the absolute time information corresponding to the start time of the video stream and the internal time information of the frame constituting the video stream are mapped and managed through the index information, so that the detection unit 270 uses the index information and the mapping information. It is advantageous in that a buffer in which an image stream corresponding to a playback time desired by a user is stored can be detected quickly and accurately.

제공부(280)는 검출된 버퍼에 저장된 영상 스트림을 미디어 재생 장치(130)로 제공할 수 있다. 예를 들어, 제공부(280)는 검출된 버퍼에 저장된 영상 스트림을 구성하는 오디오 데이터 및 비디오 데이터를 미디어 재생 장치(130)로 스트리밍하여 제공할 수 있다. The provider 280 may provide the media playback device 130 with the image stream stored in the detected buffer. For example, the provider 280 may stream and provide audio data and video data constituting an image stream stored in the detected buffer to the media player 130.

관리부(290)는 저장된 메타데이터에 기초하여 영상 스트림에 대한 인덱스 정보를 관리할 수 있다. 인덱스 정보는 영상 스트림의 시작 시점에 해당하는 절대 시간 정보 및 버퍼 번호 중 적어도 하나를 포함하는 제 1 인덱스 및 각 버퍼 내 패킷 번호 및 영상 스트림의 내부 시간 정보를 포함하는 제 2 인덱스로 구성될 수 있다. The manager 290 may manage index information of the video stream based on the stored metadata. The index information may include a first index including at least one of absolute time information and a buffer number corresponding to a start point of a video stream, and a second index including packet number and buffer internal time information of each buffer in each buffer. .

도 3은 본 발명의 일 실시예에 따른 영상 스트림의 절대 시간 정보와 영상 스트림을 구성하는 프레임에 대한 내부 시간 정보를 매핑하는 과정을 설명하기 위한 예시적인 도면이다. FIG. 3 is an exemplary diagram for explaining a process of mapping absolute time information of an image stream and internal time information of a frame constituting a video stream according to an embodiment of the present invention.

타임 쉬프트 서비스 제공 서버(120)는 복수의 버퍼(300)에 기설정된 단위 재생 시간에 따라 영상 스트림을 저장할 수 있다. 예를 들어, 타임 쉬프트 서비스 제공 서버(120)는 제 1 버퍼(301)에 영상 스트림 #1을 저장하고, 제 N 버퍼(302)에 영상 스트림 #N을 저장할 수 있다. 또한, 타임 쉬프트 서비스 제공 서버(120)는 영상 스트림에 대한 메타 데이터(303)를 저장할 수 있다. The time shift service providing server 120 may store an image stream in a plurality of buffers 300 according to a preset unit playback time. For example, the time shift service providing server 120 may store the image stream # 1 in the first buffer 301 and store the image stream #N in the Nth buffer 302. In addition, the time shift service providing server 120 may store meta data 303 for the video stream.

예를 들어, 제 1 버퍼(301)에 저장된 영상 스트림 #1은 영상 스트림 #1에 대한 오디오 및 비디오(A/V) 데이터와 해당 프레임에 대한 내부 시간 정보로 구성될 수 있다. 여기서, For example, the image stream # 1 stored in the first buffer 301 may include audio and video (A / V) data of the image stream # 1 and internal time information of the corresponding frame. here,

타임 쉬프트 서비스 제공 서버(120)는 버퍼에 저장된 영상 스트림 내의 오디오 및 비디오 데이터(310)와 프레임에 대한 내부 시간 정보(320)를 매핑하여 저장할 수 있다. 예를 들어, 타임 쉬프트 서비스 제공 서버(120)는 제 1 프레임(311)의 오디오 및 비디오 데이터(310)와 제 1 프레임(321)의 내부 시간 정보를 매핑하여 저장하고, 제 N 프레임(312)의 오디오 및 비디오 데이터(310)와 제 N 프레임(322)의 내부 시간 정보를 저장할 수 있다. The time shift service providing server 120 may map and store the audio and video data 310 and the internal time information 320 for the frame in the video stream stored in the buffer. For example, the time shift service providing server 120 maps and stores audio and video data 310 of the first frame 311 and internal time information of the first frame 321, and stores the N-th frame 312. Audio and video data 310 and internal time information of the N-th frame 322 may be stored.

도 4는 본 발명의 일 실시예에 따른 타임 쉬프트 서비스를 제공하기 위한 세션을 생성하는 과정을 설명하기 위한 동작 흐름도이다. 도 4를 참조하면, 타임 쉬프트 서비스 제공 시스템(1)은 타임 쉬프트 제공 서버(120) 및 미디어 재생 장치(130)를 포함할 수 있다. 4 is a flowchart illustrating an operation of creating a session for providing a time shift service according to an embodiment of the present invention. Referring to FIG. 4, the time shift service providing system 1 may include a time shift providing server 120 and a media playback device 130.

미디어 재생 장치(130)가 타임 쉬프트 서비스 세션의 생성을 타임 쉬프트 서비스 제공 서버(120)로 요청하면(S410), 타임 쉬프트 서비스 제공 서버(120)는 타임 쉬프트 서비스 세션의 생성 요청에 대한 응답할 수 있다(S420). When the media playback device 130 requests the creation of the time shift service session to the time shift service providing server 120 (S410), the time shift service providing server 120 may respond to the request for creating the time shift service session. There is (S420).

미디어 재생 장치(130)가 타임 쉬프트 서비스에 대한 세션 제어 요청 메시지를 타임 쉬프트 서비스 제공 서버(120)로 전송하면(S430), 타임 쉬프트 서비스 제공 서버(120)는 타임 쉬프트 서비스에 대한 세션 제어 응답 메시지를 미디어 재생 장치(130)로 전송할 수 있다(S440). When the media playback device 130 transmits the session control request message for the time shift service to the time shift service providing server 120 (S430), the time shift service providing server 120 sends a session control response message for the time shift service. It may transmit to the media playback device 130 (S440).

이후, 타임 쉬프트 서비스 제공 서버(120)는 타임 쉬프트 서비스를 요청받은 재생 시점의 영상 스트림을 미디어 재생 장치(130)로 전송할 수 있다(S450). Thereafter, the time shift service providing server 120 may transmit an image stream at the time of reproduction, which has received the time shift service request, to the media playback device 130 (S450).

미디어 재생 장치(130)는 타임 쉬프트 서비스의 세션 유지를 위한 세션 체크를 타임 쉬프트 서비스 제공 서버(120)로 요청하면(S460), 타임 쉬프트 서비스 제공 서버(120)는 타임 쉬프트 서비스의 세션 유지를 위한 세션 체크 요청에 응답할 수 있다(S470). When the media player 130 requests the session check service server 120 to check a session for maintaining the session of the time shift service (S460), the time shift service providing server 120 performs a session check on the time shift service. The session check request may be responded to (S470).

상술한 설명에서, 단계 S410 내지 S470은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S410 to S470 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between the steps may be switched.

도 5는 본 발명의 일 실시예에 따른 타임 쉬프트 서비스 제공 서버에서 영상 스트림을 버퍼에 저장하는 방법의 순서도이다. 도 5를 참조하면, 타임 쉬프트 서비스 제공 서버(120)는 방송 서버(110)로부터 방송 영상의 영상 스트림을 수신할 수 있다(S501). 5 is a flowchart illustrating a method of storing an image stream in a buffer in a server for providing a time shift service according to an embodiment of the present invention. Referring to FIG. 5, the time shift service providing server 120 may receive an image stream of a broadcast video from the broadcast server 110 (S501).

타임 쉬프트 서비스 제공 서버(120)는 영상 스트림으로부터 영상 스트림을 구성하는 프레임에 대한 내부 시간 정보를 추출할 수 있다(S502). The time shift service providing server 120 may extract internal time information of frames constituting the video stream from the video stream (S502).

타임 쉬프트 서비스 제공 서버(120)는 영상 스트림의 시작 시점에 해당하는 절대 시간 정보와 추출된 내부 시간 정보를 매핑할 수 있다(S503). The time shift service providing server 120 may map the absolute time information corresponding to the start time of the video stream and the extracted internal time information (S503).

타임 쉬프트 서비스 제공 서버(120)는 영상 스트림을 기설정된 단위로 버퍼에 저장할 수 있다(S504). The time shift service providing server 120 may store the video stream in a buffer in a predetermined unit (S504).

이 때, 타임 쉬프트 서비스 제공 서버(120)는 버퍼에 저장된 영상 스트림이 기설정된 단위 재생 시간을 초과하는지 여부를 판단할 수 있다(S505). 예를 들어, 버퍼에 저장된 영상 스트림이 기설정된 단위 재생 시간을 초과하지 않는 경우(S506), 영상 스트림을 계속 해당 버퍼에 저장할 수 있다(S507). 다른 예를 들어, 버퍼에 저장된 영상 스트림이 기설정된 단위 재생 시간을 초과하는 경우(S508), 타임 쉬프트 서비스 제공 서버(120)는 영상 스트림의 내부 시간 정보가 연속적인지 여부를 더 판단할 수 있다(S509). 예를 들어, 판단 결과, 영상 스트림의 내부 시간 정보가 연속적인 경우(S510), 타임 쉬프트 서비스 제공 서버(120)는 신규 버퍼를 생성하고(S511), 영상 스트림을 신규 버퍼에 저장할 수 있다(S510). 다른 예를 들어, 판단 결과, 영상 스트림의 내부 시간 정보가 불연속적인 경우(S513), 타임 쉬프트 서비스 제공 서버(120)는 영상 스트림의 절대 시간 정보와 영상 스트림의 내부 시간 정보가 매핑된 매핑 정보를 업데이트할 수 있다(S514). At this time, the time shift service providing server 120 may determine whether the video stream stored in the buffer exceeds a preset unit playback time (S505). For example, when the video stream stored in the buffer does not exceed the preset unit playback time (S506), the video stream may be continuously stored in the buffer (S507). For another example, when the video stream stored in the buffer exceeds a preset unit playback time (S508), the time shift service providing server 120 may further determine whether internal time information of the video stream is continuous ( S509). For example, as a result of determination, when the internal time information of the video stream is continuous (S510), the time shift service providing server 120 may generate a new buffer (S511) and store the video stream in the new buffer (S510). ). For another example, as a result of determination, when the internal time information of the video stream is discontinuous (S513), the time shift service providing server 120 may map mapping information in which absolute time information of the video stream and internal time information of the video stream are mapped. It may be updated (S514).

상술한 설명에서, 단계 S501 내지 S514는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S501 to S514 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between the steps may be switched.

도 6은 본 발명의 일 실시예에 따른 타임 쉬프트 서비스 제공 서버에서 미디어 재생 장치로부터 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 버퍼를 검출하여 검출된 버퍼에 저장된 영상 스트림을 제공하는 방법의 순서도이다. 도 6을 참조하면, 타임 쉬프트 서비스 제공 서버(120)는 미디어 재생 장치(130)로부터 방송 영상에 대한 타임 쉬프트를 요청받을 수 있다(S601). 6 is a diagram illustrating a method of providing a video stream stored in a detected buffer by detecting a buffer corresponding to time information of a playback time when a time shift is requested from a media playback apparatus in a time shift service providing server according to an embodiment of the present invention; Flowchart. Referring to FIG. 6, the time shift service providing server 120 may receive a time shift request for a broadcast image from the media playback device 130 (S601).

타임 쉬프트 서비스 제공 서버(120)는 타임 쉬프트를 요청받은 재생 시점의 시간 정보에 기초하여 영상 스트림에 대한 인덱스를 탐색할 수 있다(S602). The time shift service providing server 120 may search the index for the video stream based on the time information of the playback time point at which the time shift is requested (S602).

타임 쉬프트 서비스 제공 서버(120)는 인덱스 정보에 기초하여 복수의 버퍼 중 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 어느 하나의 영상 스트림이 저장된 버퍼를 검출할 수 있다(S603). 예를 들어, 영상 스트림이 저장된 버퍼가 검출되지 않은 경우(S604), 타임 쉬프트 서비스 제공 서버(120)는 오류를 반환할 수 있다(S605). 다른 예를 들어, 영상 스트림이 저장된 버퍼가 검출된 경우(S606), 타임 쉬프트 서비스 제공 서버(120)는 검출된 버퍼 내 영상 스트림의 내부 시간 정보를 탐색하고(S607), 탐색된 내부 시간 정보와 대응하는 지점부터 영상 스트림을 미디어 재생 장치(130)로 제공할 수 있다(S608). The time shift service providing server 120 may detect a buffer in which any one video stream corresponding to the time information of the playback time when the time shift is requested is stored among the plurality of buffers based on the index information (S603). For example, when the buffer in which the video stream is stored is not detected (S604), the time shift service providing server 120 may return an error (S605). For another example, when a buffer in which a video stream is stored is detected (S606), the time shift service providing server 120 searches for internal time information of the detected video stream in the buffer (S607), and searches for internal time information. The video stream may be provided to the media player 130 from the corresponding point (S608).

상술한 설명에서, 단계 S601 내지 S608은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S601 to S608 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between the steps may be switched.

도 7은 본 발명의 일 실시예에 따른 타임 쉬프트 서비스 제공 서버에서 타임 쉬프트 서비스를 제공하는 방법의 순서도이다. 도 7에 도시된 타임 쉬프트 서비스 제공 서버(120)에서 타임 쉬프트 서비스를 제공하는 방법은 도 1 내지 도 6에 도시된 실시예에 따른 타임 쉬프트 서비스 제공 시스템(1)에 의해 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 6에 도시된 실시예에 따른 타임 쉬프트 서비스 제공 서버(120)에서 타임 쉬프트 서비스를 제공하는 방법에도 적용된다. 7 is a flowchart illustrating a method of providing a time shift service in a time shift service providing server according to an embodiment of the present invention. The method for providing a time shift service in the time shift service providing server 120 shown in FIG. 7 is a time-series process by the time shift service providing system 1 according to the embodiment shown in FIGS. 1 to 6. Include them. Therefore, although omitted below, the present invention also applies to a method of providing a time shift service in the time shift service providing server 120 according to the exemplary embodiment shown in FIGS. 1 to 6.

단계 S710에서 타임 쉬프트 제공 서버(120)는 방송 서버(110)로부터 방송 영상의 영상 스트림을 수신할 수 있다. In operation S710, the time shift providing server 120 may receive an image stream of a broadcast image from the broadcast server 110.

단계 S720에서 타임 쉬프트 제공 서버(120)는 수신한 영상 스트림이 버퍼에 설정된 단위 재생 시간을 초과하는지에 대한 여부를 판단할 수 있다. In operation S720, the time shift providing server 120 may determine whether the received video stream exceeds the unit playback time set in the buffer.

단계 S730에서 타임 쉬프트 제공 서버(120)는 영상 스트림이 단위 재생 시간을 초과하는지 여부에 따라 영상 스트림을 버퍼에 저장할 수 있다. In operation S730, the time shift providing server 120 may store the video stream in the buffer depending on whether the video stream exceeds the unit playback time.

단계 S740에서 타임 쉬프트 제공 서버(120)는 미디어 재생 장치(130)로부터 방송 영상에 대한 타임 쉬프트를 요청받을 수 있다. In operation S740, the time shift providing server 120 may receive a time shift request for the broadcast image from the media playback device 130.

단계 S750에서 타임 쉬프트 제공 서버(120)는 영상 스트림이 저장된 복수의 버퍼 중 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 어느 하나의 영상 스트림이 저장된 버퍼를 검출할 수 있다. In operation S750, the time shift providing server 120 may detect a buffer in which any one video stream corresponding to the time information of the playback time when the time shift is requested is stored, from among the plurality of buffers in which the video stream is stored.

단계 S760에서 타임 쉬프트 제공 서버(120)는 검출된 버퍼에 저장된 영상 스트림을 미디어 재생 장치(130)로 제공할 수 있다. In operation S760, the time shift providing server 120 may provide an image stream stored in the detected buffer to the media playback device 130.

상술한 설명에서, 단계 S710 내지 S760은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S710 to S760 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between the steps may be switched.

도 8은 본 발명의 일 실시예에 따른 미디어 재생 장치의 구성도이다. 도 8을 참조하면, 미디어 재생 장치(130)는 영상 수신부(810), 표시부(820), 요청부(830), 전송부(840) 및 수신부(850)를 포함할 수 있다. 8 is a block diagram of a media playback apparatus according to an embodiment of the present invention. Referring to FIG. 8, the media playback device 130 may include an image receiver 810, a display unit 820, a requester 830, a transmitter 840, and a receiver 850.

영상 수신부(810)는 방송 서버(110)로부터 방송 영상의 영상 스트림을 수신할 수 있다. The image receiver 810 may receive an image stream of a broadcast image from the broadcast server 110.

표시부(820)는 수신한 영상 스트림을 디스플레이의 제 1 영역에 표시하고, 방송 영상에 대한 타임 라인을 디스플레이의 제 2 영역에 표시할 수 있다. The display unit 820 may display the received video stream in the first area of the display and display the timeline for the broadcast video in the second area of the display.

요청부(830)는 사용자로부터 타임 라인에 대한 재생 시점의 이동을 통해 방송 영상에 대한 타임 쉬프트 서비스를 요청받을 수 있다. 타임 쉬프트 서비스는 예를 들어, 일시정지(Pause), 다시 시작(resume), 되감기(rewind), 빨리감기(forward), 탐색(seeking), 재생 시점의 선택을 통한 다시보기 등을 포함할 수 있다. The requester 830 may receive a time shift service for the broadcast video from the user through the movement of the playback time point on the timeline. The time shift service may include, for example, pause, resume, rewind, forward, seek, replay through selection of a playback time point, and the like. .

전송부(840)는 타임 쉬프트를 요청받은 재생 시점의 시각 정보를 타임 쉬프트 서비스 제공 서버(120)로 전송할 수 있다. The transmitter 840 may transmit the time information of the reproduction time point at which the time shift is requested to the time shift service providing server 120.

수신부(850)는 타임 쉬프트 서비스 제공 서버(120)로부터 타임 쉬프트된 재생 시점의 영상 스트림을 수신할 수 있다. The receiver 850 may receive a video stream of a time shifted playback time from the time shift service providing server 120.

도 9는 본 발명의 일 실시예에 따른 미디어 재생 장치에서 타임 쉬프트 서비스를 제공하는 방법의 순서도이다. 도 9에 도시된 미디어 재생 장치(130)에서 타임 쉬프트 서비스를 제공하는 방법은 도 1 내지 도 8에 도시된 실시예에 따른 타임 쉬프트 서비스 제공 시스템(1)에 의해 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 8에 도시된 실시예에 따른 미디어 재생 장치(130)에서 타임 쉬프트 서비스를 제공하는 방법에도 적용된다. 9 is a flowchart illustrating a method of providing a time shift service in a media playback apparatus according to an embodiment of the present invention. The method for providing a time shift service in the media playback device 130 shown in FIG. 9 includes the steps processed in time series by the time shift service providing system 1 according to the embodiment shown in FIGS. 1 to 8. do. Therefore, although omitted below, the present invention also applies to a method for providing a time shift service in the media playback apparatus 130 according to the embodiment shown in FIGS. 1 to 8.

단계 S910에서 미디어 재생 장치(130)는 방송 서버(110)로부터 방송 영상의 영상 스트림을 수신할 수 있다. In operation S910, the media playback apparatus 130 may receive an image stream of a broadcast image from the broadcast server 110.

단계 S920에서 미디어 재생 장치(130)는 수신한 영상 스트림을 디스플레이의 제 1 영역에 표시하고, 방송 영상에 대한 타임 라인을 디스플레이의 제 2 영역에 표시할 수 있다. In operation S920, the media reproducing apparatus 130 may display the received video stream on the first area of the display, and display a timeline for the broadcast video on the second area of the display.

단계 S930에서 미디어 재생 장치(130)는 사용자로부터 타임 라인에 대한 재생 시점의 이동을 통해 방송 영상에 대한 타임 쉬프트 서비스를 요청받을 수 있다. In operation S930, the media reproducing apparatus 130 may receive a request for a time shift service for the broadcast video from the user by moving the reproduction time point on the timeline.

단계 S940에서 미디어 재생 장치(130)는 타임 쉬프트를 요청받은 재생 시점의 시각 정보를 타임 쉬프트 서비스 제공 서버(120)로 전송할 수 있다. In operation S940, the media reproducing apparatus 130 may transmit the time information of the reproduction time point at which the time shift is requested to the time shift service providing server 120.

단계 S950에서 미디어 재생 장치(130)는 타임 쉬프트 서비스 제공 서버(120)로부터 타임 쉬프트된 재생 시점의 영상 스트림을 수신할 수 있다. In operation S950, the media playback device 130 may receive a video stream of the time shifted playback time from the time shift service providing server 120.

상술한 설명에서, 단계 S910 내지 S950은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S910 to S950 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between the steps may be switched.

도 1 내지 도 9를 통해 설명된 타임 쉬프트 서비스 제공 서버 및 미디어 재생 장치에서 타임 쉬프트 서비스를 제공하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 9를 통해 설명된 타임 쉬프트 서비스 제공 서버 및 미디어 재생 장치에서 타임 쉬프트 서비스를 제공하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다. A method for providing a time shift service in a time shift service providing server and a media reproducing apparatus described with reference to FIGS. 1 to 9 includes a computer program stored in a medium executed by a computer or a recording medium including instructions executable by the computer. It may also be implemented in the form. In addition, the method for providing a time shift service in the time shift service providing server and the media playback apparatus described with reference to FIGS. 1 to 9 may be implemented in the form of a computer program stored in a medium executed by a computer.

컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer readable medium may include a computer storage medium. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

110: 방송 서버
120: 타임 쉬프트 서비스 제공 서버
130: 미디어 재생 장치
210: 수신부
220: 추출부
230: 매핑부
240: 저장부
250: 판단부
260: 요청부
270: 검출부
280: 제공부
290: 관리부
810: 영상 수신부
820: 표시부
830: 요청부
840: 전송부
850: 수신부
110: broadcast server
120: time shift service providing server
130: media playback device
210: receiver
220: extraction unit
230: mapping unit
240: storage unit
250: judgment
260: request unit
270 detection unit
280: providing part
290: management
810: image receiving unit
820: display unit
830: request unit
840: transmission unit
850: receiver

Claims (19)

타임 쉬프트 서비스를 제공하는 서버에 있어서,
방송 서버로부터 방송 영상의 영상 스트림을 수신하는 수신부;
상기 수신한 영상 스트림을 기설정된 버퍼 단위로 저장하는 저장부;
상기 버퍼에 저장된 영상 스트림이 기설정된 단위 재생 시간을 초과하는지 여부를 판단하는 판단부;
미디어 재생 장치로부터 상기 방송 영상에 대한 타임 쉬프트를 요청받는 요청부;
상기 영상 스트림이 저장된 복수의 버퍼 중 상기 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 버퍼를 검출하는 검출부; 및
상기 검출된 버퍼에 저장된 영상 스트림을 상기 미디어 재생 장치로 제공하는 제공부를 포함하고,
상기 저장부는 상기 판단부의 판단 결과에 따라 상기 영상 스트림을 상기 버퍼에 저장하되,
상기 영상 스트림으로부터 상기 영상 스트림을 구성하는 프레임에 대한 내부 시간 정보를 추출하는 추출부 및
상기 영상 스트림의 시작 시점에 해당하는 절대 시간 정보와 상기 추출된 내부 시간 정보를 매핑하는 매핑부를 더 포함하는, 타임 쉬프트 서비스 제공 서버.
A server providing a time shift service,
A receiver which receives an image stream of a broadcast image from a broadcast server;
A storage unit which stores the received video stream in a predetermined buffer unit;
A determination unit determining whether the video stream stored in the buffer exceeds a preset unit playback time;
A request unit for receiving a time shift request for the broadcast video from a media player;
A detector configured to detect a buffer corresponding to time information of a reproduction time point at which the time shift is requested, among a plurality of buffers in which the video stream is stored; And
Providing unit for providing the image stream stored in the detected buffer to the media playback device,
The storage unit stores the video stream in the buffer according to the determination result of the determination unit,
An extraction unit for extracting internal time information of frames constituting the video stream from the video stream;
And a mapping unit configured to map absolute time information corresponding to a start time point of the video stream and the extracted internal time information.
삭제delete 삭제delete 제 1 항에 있어서,
상기 판단부는 상기 영상 스트림이 상기 버퍼에 설정된 단위 재생 시간을 초과하는 경우, 상기 영상 스트림의 내부 시간 정보가 연속적인지에 대한 여부를 더 판단하는 것인, 타임 쉬프트 서비스 제공 서버.
The method of claim 1,
And the determining unit further determines whether internal time information of the video stream is continuous when the video stream exceeds the unit playback time set in the buffer.
제 4 항에 있어서,
상기 저장부는 상기 영상 스트림의 내부 시간 정보가 연속적인 경우, 신규 버퍼를 생성하여 상기 생성된 신규 버퍼에 상기 영상 스트림을 저장하는 것인, 타임 쉬프트 서비스 제공 서버.
The method of claim 4, wherein
And when the internal time information of the video stream is continuous, the storage unit generates a new buffer and stores the video stream in the generated new buffer.
제 4 항에 있어서,
상기 매핑부는 상기 영상 스트림의 내부 시간 정보가 불연속적인 경우, 상기 영상 스트림의 절대 시간 정보와 상기 영상 스트림의 내부 시간 정보가 매핑된 매핑 정보를 업데이트하는 것인, 타임 쉬프트 서비스 제공 서버.
The method of claim 4, wherein
And when the internal time information of the video stream is discontinuous, the mapping unit updates mapping information in which absolute time information of the video stream and internal time information of the video stream are mapped.
제 1 항에 있어서,
상기 저장부는 상기 버퍼에 저장된 영상 스트림의 내부 시간 정보, 상기 영상 스트림의 절대 시간 정보와 상기 영상 스트림의 내부 시간 정보가 매핑된 매핑 정보, 상기 영상 스트림의 조각 개수, 상기 타임 쉬프트 서비스로 제공 가능한 전체 시간 정보 중 적어도 하나를 메타데이터로 저장하는 것인, 타임 쉬프트 서비스 제공 서버.
The method of claim 1,
The storage unit may include internal time information of the video stream stored in the buffer, mapping information in which the absolute time information of the video stream and the internal time information of the video stream are mapped, the number of fragments of the video stream, and the whole that can be provided by the time shift service. And at least one of time information is stored as metadata.
제 7 항에 있어서,
상기 저장된 메타데이터에 기초하여 상기 영상 스트림에 대한 인덱스 정보를 관리하는 관리부를 더 포함하되,
상기 인덱스 정보는 상기 영상 스트림의 시작 시점에 해당하는 절대 시간 정보 및 버퍼 번호 중 적어도 하나를 포함하는 제 1 인덱스 및 각 버퍼 내 패킷 번호 및 상기 영상 스트림의 내부 시간 정보를 포함하는 제 2 인덱스로 구성된 것인, 타임 쉬프트 서비스 제공 서버.
The method of claim 7, wherein
Further comprising a management unit for managing the index information for the video stream based on the stored metadata,
The index information includes a first index including at least one of absolute time information corresponding to a start time of the video stream and a buffer number, and a second index including packet number in each buffer and internal time information of the video stream. The time shift service providing server.
제 8 항에 있어서,
상기 검출부는 상기 인덱스 정보에 기초하여 상기 복수의 버퍼 중 상기 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 어느 하나의 영상 스트림이 저장된 버퍼를 검출하고,
상기 제공부는 상기 검출된 버퍼에 저장된 영상 스트림을 상기 미디어 재생 장치로 제공하는 것인, 타임 쉬프트 서비스 제공 서버.
The method of claim 8,
The detection unit detects a buffer in which any one video stream corresponding to the time information of the playback time when the time shift is requested from among the plurality of buffers is stored based on the index information,
The providing unit is to provide a video stream stored in the detected buffer to the media playback device, the time shift service providing server.
타임 쉬프트 서비스 제공 서버에서 타임 쉬프트 서비스를 제공하는 방법에 있어서,
방송 서버로부터 방송 영상의 영상 스트림을 수신하는 단계;
상기 수신한 영상 스트림이 버퍼에 설정된 단위 재생 시간을 초과하는지에 대한 여부를 판단하는 단계;
상기 영상 스트림이 상기 단위 재생 시간을 초과하는지 여부에 따라 상기 영상 스트림을 상기 버퍼에 저장하는 단계;
미디어 재생 장치로부터 상기 방송 영상에 대한 타임 쉬프트를 요청받는 단계;
상기 영상 스트림이 저장된 복수의 버퍼 중 상기 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 어느 하나의 영상 스트림이 저장된 버퍼를 검출하는 단계; 및
상기 검출된 버퍼에 저장된 영상 스트림을 상기 미디어 재생 장치로 제공하는 단계를 포함하되,
상기 영상 스트림으로부터 상기 영상 스트림을 구성하는 프레임에 대한 내부 시간 정보를 추출하는 단계; 및
상기 영상 스트림의 시작 시점에 해당하는 절대 시간 정보와 상기 추출된 내부 시간 정보를 매핑하는 단계를 더 포함하는 것인, 타임 쉬프트 서비스 제공 방법.
In the method for providing a time shift service in a time shift service providing server,
Receiving an image stream of a broadcast image from a broadcast server;
Determining whether the received video stream exceeds a unit reproduction time set in a buffer;
Storing the video stream in the buffer according to whether the video stream exceeds the unit playback time;
Receiving a time shift request for the broadcast video from a media player;
Detecting a buffer in which any one video stream corresponding to the time information of the playback time point at which the time shift is requested is stored among the plurality of buffers in which the video stream is stored; And
Providing the video stream stored in the detected buffer to the media playback device;
Extracting internal time information of a frame constituting the video stream from the video stream; And
And mapping the extracted internal time information to absolute time information corresponding to a start time of the video stream.
삭제delete 삭제delete 제 10 항에 있어서,
상기 판단하는 단계는, 상기 영상 스트림이 상기 버퍼에 설정된 단위 재생 시간을 초과하는 경우, 상기 영상 스트림의 내부 시간 정보가 연속적인지에 대한 여부를 더 판단하는 것인, 타임 쉬프트 서비스 제공 방법.
The method of claim 10,
The determining may further determine whether the internal time information of the video stream is continuous when the video stream exceeds the unit playback time set in the buffer.
제 13 항에 있어서,
상기 영상 스트림의 내부 시간 정보가 연속적인 경우, 신규 버퍼를 생성하여 상기 생성된 신규 버퍼에 상기 영상 스트림을 저장하는 단계를 더 포함하는, 타임 쉬프트 서비스 제공 방법.
The method of claim 13,
If the internal time information of the video stream is continuous, generating a new buffer and storing the video stream in the generated new buffer.
제 14 항에 있어서,
상기 영상 스트림의 내부 시간 정보가 불연속적인 경우, 상기 영상 스트림의 절대 시간 정보와 상기 영상 스트림의 내부 시간 정보가 매핑된 매핑 정보를 업데이트하는 단계를 더 포함하는, 타임 쉬프트 서비스 제공 방법.
The method of claim 14,
If the internal time information of the video stream is discontinuous, updating the mapping information in which the absolute time information of the video stream and the internal time information of the video stream are mapped.
제 10 항에 있어서,
상기 저장하는 단계는, 상기 버퍼에 저장된 영상 스트림의 내부 시간 정보, 상기 영상 스트림의 절대 시간 정보와 상기 영상 스트림의 내부 시간 정보가 매핑된 매핑 정보, 상기 영상 스트림의 조각 개수, 상기 타임 쉬프트 서비스로 제공 가능한 전체 시간 정보 중 적어도 하나를 메타데이터로 저장하는 것인, 타임 쉬프트 서비스 제공 방법.
The method of claim 10,
The storing may include internal time information of the video stream stored in the buffer, mapping information in which absolute time information of the video stream and internal time information of the video stream are mapped, the number of fragments of the video stream, and the time shift service. And storing at least one of total time information that can be provided as metadata.
제 16 항에 있어서,
상기 저장된 메타데이터에 기초하여 상기 영상 스트림에 대한 인덱스 정보를 관리하는 단계를 더 포함하되,
상기 인덱스 정보는 상기 영상 스트림의 시작 시점에 해당하는 절대 시간 정보 및 버퍼 번호 중 적어도 하나를 포함하는 제 1 인덱스 및 각 버퍼 내 패킷 번호 및 상기 영상 스트림의 내부 시간 정보를 포함하는 제 2 인덱스로 구성된 것인, 타임 쉬프트 서비스 제공 방법.
The method of claim 16,
The method may further include managing index information of the video stream based on the stored metadata.
The index information includes a first index including at least one of absolute time information corresponding to a start time of the video stream and a buffer number, and a second index including packet number in each buffer and internal time information of the video stream. The time shift service providing method.
제 17 항에 있어서,
상기 버퍼를 검출하는 단계는 상기 인덱스 정보에 기초하여 상기 복수의 버퍼 중 상기 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 어느 하나의 영상 스트림이 저장된 버퍼를 검출하고,
상기 영상 스트림을 제공하는 단계는 상기 검출된 버퍼에 저장된 영상 스트림을 상기 미디어 재생 장치로 제공하는 것인, 타임 쉬프트 서비스 제공 방법.
The method of claim 17,
The detecting of the buffer may include: detecting a buffer in which any one video stream corresponding to the time information of the reproduction time point at which the time shift is requested among the plurality of buffers is stored, based on the index information,
The providing of the video stream may include providing the video stream stored in the detected buffer to the media player.
타임 쉬프트 서비스를 제공하는 미디어 재생 장치에 있어서,
방송 서버로부터 방송 영상의 영상 스트림을 수신하는 영상 수신부;
상기 수신한 영상 스트림을 디스플레이의 제 1 영역에 표시하고, 상기 방송 영상에 대한 타임 라인을 상기 디스플레이의 제 2 영역에 표시하는 표시부;
사용자로부터 상기 타임 라인에 대한 재생 시점의 이동을 통해 상기 방송 영상에 대한 타임 쉬프트 서비스를 요청받는 요청부;
상기 타임 쉬프트를 요청받은 재생 시점의 시각 정보를 타임 쉬프트 서비스 제공 서버로 전송하는 전송부; 및
상기 타임 쉬프트 서비스 제공 서버로부터 상기 타임 쉬프트된 재생 시점의 영상 스트림을 수신하는 수신부를 포함하되,
상기 영상 스트림은 버퍼에 설정된 단위 재생 시간의 초과 여부 기초하여 상기 버퍼에 저장되고,
상기 저장된 복수의 버퍼 중 상기 타임 쉬프트를 요청받은 재생 시점의 시각 정보와 대응하는 어느 하나의 영상 스트림이 저장된 버퍼가 검출되고,
상기 검출된 버퍼에 저장된 영상 스트림이 제공되는 것이되,
상기 영상 스트림은 상기 타임 쉬프트서비스 제공 서버에 의해 상기 영상 스트림을 구성하는 프레임에 대한 내부 시간 정보가 추출되고, 상기 영상 스트림의 시작 시점에 해당하는 절대 시간 정보와 상기 추출된 내부 시간 정보가 매핑된 것인, 미디어 재생 장치.
A media playback device that provides a time shift service,
An image receiver configured to receive an image stream of a broadcast image from a broadcast server;
A display unit configured to display the received video stream in a first area of a display and to display a timeline for the broadcast video in a second area of the display;
A request unit which receives a time shift service for the broadcast video from a user by moving a reproduction time point with respect to the timeline;
A transmission unit which transmits time information of a reproduction time point at which the time shift is requested, to a time shift service providing server; And
A receiver configured to receive a video stream of the time shifted playback time from the time shift service providing server,
The video stream is stored in the buffer based on whether the unit playback time set in the buffer is exceeded,
A buffer in which any one video stream corresponding to the time information of the reproduction time point at which the time shift is requested is stored is detected among the stored buffers,
The video stream stored in the detected buffer is provided,
In the video stream, internal time information of a frame constituting the video stream is extracted by the time shift service providing server, and absolute time information corresponding to a start time of the video stream is mapped with the extracted internal time information. Media playback apparatus.
KR1020180108682A 2018-09-12 2018-09-12 Server, method and media play device for providing time shift service KR102065035B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180108682A KR102065035B1 (en) 2018-09-12 2018-09-12 Server, method and media play device for providing time shift service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180108682A KR102065035B1 (en) 2018-09-12 2018-09-12 Server, method and media play device for providing time shift service

Publications (1)

Publication Number Publication Date
KR102065035B1 true KR102065035B1 (en) 2020-01-10

Family

ID=69158493

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180108682A KR102065035B1 (en) 2018-09-12 2018-09-12 Server, method and media play device for providing time shift service

Country Status (1)

Country Link
KR (1) KR102065035B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100782196B1 (en) * 2006-09-11 2007-12-04 엘지전자 주식회사 (an) image display device for having time shift function and method for playing of the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100782196B1 (en) * 2006-09-11 2007-12-04 엘지전자 주식회사 (an) image display device for having time shift function and method for playing of the same

Similar Documents

Publication Publication Date Title
US10951936B2 (en) Synchronizing the storing of streaming video
US10958865B2 (en) Data segment service
US8108541B2 (en) Method and apparatus for providing collaborative interactive video streaming
USRE47825E1 (en) Methods, systems, and media for certifying a playback device
US20220400318A1 (en) Trick playback of video data
US20130285937A1 (en) Connected multi-screen video management
US8325673B1 (en) Personal multi-device nomadic media
US8665963B2 (en) Communication terminal, content reproduction method, content reproduction program, and content reproduction system for distributing and reproducing video contents with reduced stress
US11234026B2 (en) Methods and apparatus for responding to inoperative commands
KR20120079880A (en) Apparatus and method for generating bookmark in streaming service system
US20110150437A1 (en) Method and system for allowing users to resume viewing videos among set-top boxes
CN113301397A (en) CDN-based audio and video transmission, playing and delay detection method and device
KR101246129B1 (en) Multimedia service system and method
KR102065035B1 (en) Server, method and media play device for providing time shift service
JP2008085934A (en) Remote reproduction system for video and method of resume reproduction
JP2014204265A (en) Reproduction control device and reproduction control method
KR102150685B1 (en) Method and Apparatus for Switching Media Service Channel
US11157556B2 (en) Method and apparatus for thumbnail generation for a video device
KR20200008346A (en) Device, server and method for providing broadcast channel
JP6085635B2 (en) Trick playback of video data
CN115604496A (en) Display device, live broadcast channel switching method and storage medium
KR20130050797A (en) Server and method for providing a plurality of contents included in group seamlessly

Legal Events

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