KR101452345B1 - 타임 시프트 영상 제공 시스템 및 방법, 이를 위한 스트리밍 서버 및 단말 장치 - Google Patents

타임 시프트 영상 제공 시스템 및 방법, 이를 위한 스트리밍 서버 및 단말 장치 Download PDF

Info

Publication number
KR101452345B1
KR101452345B1 KR1020130047607A KR20130047607A KR101452345B1 KR 101452345 B1 KR101452345 B1 KR 101452345B1 KR 1020130047607 A KR1020130047607 A KR 1020130047607A KR 20130047607 A KR20130047607 A KR 20130047607A KR 101452345 B1 KR101452345 B1 KR 101452345B1
Authority
KR
South Korea
Prior art keywords
time
metafile
file
broadcast image
broadcast channel
Prior art date
Application number
KR1020130047607A
Other languages
English (en)
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 KR1020130047607A priority Critical patent/KR101452345B1/ko
Application granted granted Critical
Publication of KR101452345B1 publication Critical patent/KR101452345B1/ko

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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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 or manipulating encoded video stream 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
    • 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
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 실시간으로 수신된 방송 영상을 다수의 조각 파일로 분할하고, 메타 파일을 생성하는 스트리밍 서버; 및 상기 스트리밍 서버로 메타 파일의 전송을 요청하는 요청 프레임을 전송하고, 상기 메타 파일 및 상기 조각 파일을 수신하고 상기 메타 파일이 지시하는 순서대로 상기 조각 파일을 재생하는 단말 장치를 포함하는 실시간 방송 영상과 타임 시프트된 방송 영상을 제공할 수 있는 시스템을 제공한다.

Description

타임 시프트 영상 제공 시스템 및 방법, 이를 위한 스트리밍 서버 및 단말 장치{SYSTEM AND METHOD FOR PROVIDING A TIME SHIFTED VIDEO, AND STREAMING SEVER AND MOBILE TERMINAL THEREFOR}
본 발명은 타임 시프트 영상 제공 시스템 및 방법, 이를 위한 스트리밍 서버 및 단말 장치에 관한 것이다.
라이브 스트리밍(Live Streaming)이란 텔레비전 생방송처럼 동영상을 실시간으로 단말 장치로 전송하여 재생하는 방식을 의미한다. 종래 라이브 스트리밍을 위한 프로토콜로 RTSP(Real-Time Streaming Protocol)/RTP(Real-time Transport Protocol), RTMP(Real-Time Messaging Protocol) 등이 적용되었다. 그러나, 이러한 프로토콜이 적용된 라이브 스트리밍은 영상 데이터의 전송뿐만 아니라, 동영상에 대한 정보 분석이나 전송 규격에 맞도록 동영상 파일을 읽어서 변형하는 기능도 갖춰야 해서, 시스템 구축 비용이 상대적으로 높다.
이에 대한 대안으로, HTTP 가 적용된 HLS 방식의 라이브 스트리밍이 개발되었다. 그러나, 아직까지 HLS 방식으로 타임 시프트 기능을 구현할 수 있는 방법이 제안된바 없다.
본 발명은 HLS 방식이 적용된 타임 시프트 방송 영상을 제공할 수 있는 시스템 및 방법을 제공하는 것에 목적이 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일실시예에 따르면, 실시간 방송 영상과 타임 시프트된 방송 영상을 제공할 수 있는 시스템은, 실시간으로 수신된 방송 영상을 다수의 조각 파일로 분할하고, 메타 파일을 생성하는 스트리밍 서버; 및 상기 스트리밍 서버로 메타 파일의 전송을 요청하는 요청 프레임을 전송하고, 상기 메타 파일 및 상기 조각 파일을 수신하고 상기 메타 파일이 지시하는 순서대로 상기 조각 파일을 재생하는 단말 장치를 포함하고, 상기 요청 프레임은 시간 정보를 포함하고, 상기 시간 정보가 현재 시간을 가리키면, 실시간으로 방송 영상을 재생하기 위한 제 1 메타 파일이 상기 단말 장치로 제공되고, 상기 시간 정보가 과거 시간을 가리키면, 과거 방송 영상을 재생하기 위한 제 2 메타 파일이 상기 단말 장치로 제공되는 것을 특징으로 한다.
본 발명의 일실시예에 따르면, 실시간 방송 영상과 타임 시프트된 방송 영상을 제공하는 방법은, 실시간으로 수신된 방송 영상을 다수의 조각 파일로 분할하는 단계; 생성된 상기 조각 파일을 기초로 제 1 메타 파일을 갱신하는 단계; 단말 장치로부터 시간 정보를 지시하는 메타 파일의 요청 프레임을 수신하는 단계; 및 상기 시간 정보가 현재 시간을 지시하는지 여부에 따라, 상기 제 1 메타 파일 및 제 2 메타 파일 중 적어도 하나를 상기 단말 장치로 전송하는 단계를 포함한다.
본 발명에서 얻을 수 있는 기술적 해결 수단은 이상에서 언급한 해결 수단들로 제한되지 않으며, 언급하지 않은 또 다른 해결 수단들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명은 HLS 방식이 적용된 타임 시프트 방송 영상을 제공할 수 있는 시스템 및 방법을 제공할 수 있는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일예에 따른, 타임 시프트 방송 영상 제공 시스템의 개략도이다.
도 2 및 도 3은 각각 스트리밍 서버 및 단말 장치의 블록도이다.
도 4는 타임 시프트 방송 영상 제공 방법을 설명하기 위한 도면이다.
도 5은 제 1 메타 파일의 예시도이다.
도 6은 제 2 메타 파일의 예시도이다.
도 7 및 도 8은 타임 시프팅 명령을 수신하기 위해 제공되는 유저 인터페이스를 설명하기 위한 예시도이다.
이하, 본 발명과 관련된 스트리밍 서버 및 단말 장치에 대하여 도면을 참조하여 보다 상세하게 설명한다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
도 1은 본 발명의 일예에 따른, 타임 시프트 방송 영상 제공 시스템의 개략도이다. 도 1을 참조하면, 본 발명에 따른 타임 시프트 방송 영상 제공 시스템은 스트리밍 서버(100) 및 단말 장치(200)를 포함할 수 있다. 본 발명에서 설명하는 단말 장치(200)는 스트리밍 서버(100)로부터 방송 영상을 수신하고 이를 재생할 수 있는 장치로, TV, IPTV, 스마트 TV 등의 TV 장치, TV 장치와 연결되는 셋톱박스, 스마트폰 등의 이동 단말기 등 일수 있다.
타임 시프트 방송 영상 제공 시스템을 구성하는 각 장치에 대해 설명하기에 앞서, 본 발명에 따른 스트리밍 서버(100)와 단말 장치(200) 사이의 전송 프로토콜인 HLS(Http Live Streaming) 방식에 대해 상세히 설명하기로 한다.
동영상 라이브 스트리밍(Live Streaming)이란 방송 영상 등의 동영상을 실시간으로 단말 장치로 보내 재생하도록 하는 방식을 말한다. 온 디맨드 스트리밍(On-Demand Streaming) 방식에서는 동영상의 촬영과 편집을 거쳐 동영상 파일을 제작한 다음 단말 장치의 요청이 있을 때 제작한 동영상을 단말 장치로 제공하게 되지만, 라이브 스트리밍 방식에서는 비디오와 오디오를 실시간으로 인코딩해 여러 단말 장치에게 동시에 전송할 수 있는 환경이 구성되어야 한다.
종래 라이브 스트리밍을 위해서 UDP(User Datagram Protocol) 또는 UDP/RDP(Remote Desktop Protocol) 등 저레벨(Low-Level) 프로토콜이 사용되어 왔다. 저레벨 프로토콜을 사용하는 종래의 스트리밍 서버는 스트리밍 서버는 영상 데이터의 전송에 부가하여, 동영상의 정보 분석, 동여상 파일을 전송 규격에 맞도록 변형하는 기능 등을 더욱 구비하여야 한다. 이에 따라, 저레벨 프로토콜을 사용하는 스트리밍 버서의 도입 비용은 상대적으로 높다는 문제점이 있다.
이에 더하여, 저레벨 프로토콜을 사용하는 스트리밍 서버는 방화벽이나 네트워크 주소 변환기(Network Address Translation, NAT)가 이용되는 환경에서는 서비스 품질의 저하가 발생한다는 문제점이 있다.
이와 같은 종래 라이브 스트리밍의 문제점을 해결하기 위해, Apple 사에서는 HTTP(Hyper Text Transfer Protocol) 기반, 고레벨(High-Level) 프로토콜을 이용한 전송 프로토콜을 이용한 라이브 스트리밍 방식인 HLS(http Live Streaming)를 제안하였다. HTTP는 방화벽 환경에서, HTTP 서버로의 요청만 통과시키면 되기 때문에, 방화벽 설정을 단순화 할 수 있다는 이점을 가지며, 스트리밍 서버에 대한 요청 및 응답이 1:1로 대응될 수 있어, 네트워크 주소 변환기가 사용되는 환경에서도 스트리밍 서버와 손쉽게 통신할 수 있다.
현재 대부분의 단말 장치는 HLS를 기본으로 제공한다. 일예로, Apple 사의 iOS 3.0 버전 이상을 채용하는 스마트 폰, Google 사의 안드로이드 OS 2.3 (진저브레드) 버전 이상을 채용하는 스마트 폰, Google TV, Apple TV 등을 서비스 하기 위한 셋톱 박스 등은 모두 HLS를 기본으로 지원한다.
HLS는 규격이 단순하고, IETF(Internet Engineering Tast Force)를 통한 표준화 작업을 통해 손쉽게 단말 장치에 적용할 수 있다.
HLS가 적용된 시스템 하에서, 스트리밍 서버는 단말 장치로부터 수신하는 HTTP 요청에 응답한다. 구체적으로, 스트리밍 서버는 단말 장치로부터 수신한 요청을 어떠한 형태로 변형하지 않고, 독출한 바 그대로 응답에 포함하여 전송한다. 즉, 저장되어 있는 파일의 가공 없이, HTTP 응답에 데이터를 실어 단말 장치로 전송한다. 기존의 스트리밍 서버가 스트리밍 규격에 맞게 데이터를 변형해야 하는 것에 비해, HLS는 파일의 가공없이 단말 장치로 전송할 수 있어 연산 처리 과정이 단순하다.
스트리밍 서버의 스트림 세그멘터(Stream Segmenter)는 일정한 시간 간격마다 입력받은 미디어 데이터를 분할하여 분할된 파일을 만들고, 분할된 파일에 접근할 수 있는 메타 파일을 생성한다. 스트림 세그멘터가 생성하는 메타 파일은 m3u8 파일 형식을 취할 수 있다.
m3u8 포맷은 m3u 포맷에서 확장된 것으로, m3u 포맷에 비해, UTF-8 문자 집합을 사용할 수 있고, 다양한 지시어로 재생할 파일에 대한 추가적인 정보를 제공할 수 있다.
m3u8 포맷은 첫행이 '#EXTM3U' 문자열로 시작되고, 단말 장치들은 메타 파일의 첫행을 확인하여 m3u8 포맷이 적용되었음을 인지할 수 있다. m3u8 포맷은 '#EXT' 문자열을 지시어로 활용한다. 즉, 단말 장치는 '#EXT' 문자열로 m3u8 형식의 메타 파일의 지시어를 인시할 수 있다. m3u8 포맷에서 '#EXT'로 시작하지 않으면, # 이후의 모든 문자열은 주석으로 간주될 수 있다.
표 1은 m3u8 포맷의 주요 지시어이다.
지시어 형식 역할
#EXTM3U #EXTM3U 파일의 가장 첫 줄에 명시하여 파일이 m3u8 포맷임을 명시한다.
#EXTINF #EXTINF: <재생 시간:초>,<제목> 이 지시어의 다음에 명시된 콘텐츠의 재생 시간과 제목을 명시한다.
#EXT-X-TARGETDURATION #EXT-X-TARGETDURATION: <시간: 초> 파일 목록에 나열된 각 파일의 최대 재생 시간을 명시한다.
#EXT-X-ENDLIST #EXT-X-ENDLIST 플레이 리스트에서 재생할 콘텐츠가 더 이상 없음을 의미한다. 이 지시어가 표시된 줄 이후의 콘텐츠는 무시한다.
#EXT-X-DISCONTINUITY #EXT-X-DISCONTINUITY 이 지시어가 표지된 줄을 기준으로 이전 줄과 이후 줄에서 재생하는 콘텐츠의 정보가 변경되었음을 표시한다. 예를 들어 이전 콘텐츠와 이후 콘텐츠의 파일 포맷, 파일이 갖고 있는 미디어 트랙의 개수, 인코딩 정보, 재생 시간 정보 등이 변경되면 이 지시어를 플레이리스트에서 정보가 바뀌는 파일 사이에 명시하여 플레이어가 새로운 정보를 사용해야 하는 시점을 알려 준다..
#EXT-X-MEDIA-SEQUENCE #EXT-X-MEDIA-SEQUENCE: <첫 파일의 일련번호> 제일 먼저 플레이해야하는 파일의 일련번호를 명시한다. 예를 들어 그림 1의 경우와 같이 0,1,2의 파일이 있을 경우 이 지시어의 값은 0이 된다. 이 지시어가 포함되지 않은 경우 첫 분할 파일의 일련 번호는 0으로 간주한다.
#EXT-X-KEY #EXT-X-KEY: <암호화 방법>[, <key>] 암호화된 파일을 해독하는 키 값을 명시한다. HTTP Live Streaming에서는 재생 시간에 따라 분할된 각 파일을 암호화하여 전송할 수 있다. 암호화된 파일을 해독할 때 필요한 키 값을 플레이어에게 알려 주기 위해 사용한다.
#EXT-X-STREAM-INF #EXT-X-STREAM-INF 이 지시어 다음 줄의 콘텐츠에 대한 정보를 제공한다. #EXTINF는 재생 시간에 대한 정보만 제공하고, #EXT-X-STREAM-INF는 다음과 같은 정보를 제공한다.
BANDWIDTH: 10진수로 표시한 bps 값
PROGRAM-ID: 플레이 리스트 파일에 있는 콘텐츠가 갖는 고유 값
CODEC: 해당 콘텐츠에 적용된 코텍(codec) 정보
RESOLUTION: 해상도
상술한 설명을 기초로 본 발명에 따른 타임 시프트 방송 영상 제공 시스템에 대해 상세히 살펴보기로 한다.
도 2 및 도 3은 각각 스트리밍 서버 및 단말 장치의 블록도이다.
도 2를 참조하면, 본 발명에 따른 스트리밍 서버(100)는 미디어 인코딩부(110), 저장부(120), 스트림 세그멘터(130) 및 통신부(140)를 포함할 수 있다. 복수의 PP(Program Provider)로부터 방송 신호가 수신되면, 인코딩부(110)는 수신한 방송신호를 인코딩할 수 있다. 여기서, 인코딩 규격은, MPEG4, MPEG2 등을 따를 수 있으나, 이에 한정되는 것은 아니다. 스트림 세그멘터(130)는 인코딩된 데이터를 분할하여 조각 파일(청크(chunk) 파일)을 생성하고, 제 1 메타 파일을 업데이트 할 수 있다. 여기서, 메타 파일은 채널별로 생성될 수 있다.
단말 장치(200)로부터 과거 방송 영상을 재생하기 위한 메타 파일을 요청받은 경우, 스트림 세그먼트는 제 2 메타 파일을 새롭게 생성할 수도 있다.
저장부(120)는 스트리밍 세그먼트에 의해 분할된 조각 파일을 저장한다. 이때, 저장부(120)가 저장하는 조각 파일은 과거 소정 시간 동안의 방송 영상일 수 있다. 일예로, 소정 시간이 1시간인 경우, 저장부(120)는 현시점으로부터 과거 1시간 이내의 분량에 해당하는 조각 파일을 저장할 수 있다. 저장부(120)의 저장 용량은 방송 채널의 개수 및 소정 시간에 따라 적절히 선택되어야 할 것이다. 예컨대, 100개의 채널에 대해 과거 1시간 동안의 방송 영상을 저장하기 위해서는 최소 약 150GB 정도의 저장 공간이 요구될 것이다.
통신부(140)는 단말 장치(200)에게 방송 영상의 재생에 필요한 메타 파일 및 조각 파일을 전송할 수 있다.
도 3은 단말 장치(200)의 블록도이다. 도 3을 참조하면, 단말 장치(200)는 통신부(210), 디코딩부(220), 저장부(230), 사용자 입력부(240), 출력부(250) 및 제어부(260)를 구비할 수 있다.
통신부(210)는 스트리밍 서버(100)로부터 메타 파일 및 조각 파일을 수신한다. 디코딩부(220)는 통신부(210)가 수신한 조각 파일을 디코딩하고, 디코딩된 방송 영상은 출력부(250)를 통해 출력될 수 있다.
여기서, 출력부(250)는 디스플레이 모듈(예컨대, 액정 표시 장치)일 수도 있으나, TV와 연결되기 위한 인터페이스 모듈일 수도 있다.
사용자 입력부(240)는 외부로부터 사용자 입력을 수신하는 역할을 수행한다. 사용자 입력부(240)는 리모컨으로부터 사용자 입력을 수신하기 위해 적외선 수신 모듈을 구비하거나, 버튼 또는 터치 방식으로 사용자 입력을 수신하기 위해 버튼 또는 터치 수신 장치 등을 구비할 수도 있다. 사용자 입력부(240) 및 출력부(250)는 터치스크린으로 일원화 될 수도 있다. 이 경우, 터치스크린은 사용자로부터 터치 입력을 수신하기 위한 입력 장치의 역할을 수행함과 동시에 정보를 출력하는 표시 장치의 역할을 수행할 수 있을 것이다.
저장부(230)는 단말 장치(200)로부터 입출력되는 데이터를 임시 저장할 수 있다. 단말 장치(200)에는 제어부(260)의 제어를 위한 프로그램이 저장될 수도 있다.
제어부(260)는 단말 장치(200)의 전반적은 동작을 제어한다. 일예로, 제어부(260)는 평소 실시간 방송 영상이 재생되도록 제어하다가, 사용자 입력부(240)가 타임 시프트(Time Shift) 명령을 수신하면, 과거 방송 영상이 재생되도록 제어할 수 있다. 실시간 방송 영상을 재생하도록 설정된 경우, 제어부(260)는 제 1 메타 파일을 이용하다가, 타임 시프트 명령이 입력된 경우, 제 2 메타 파일을 이용하여 방송 영상을 재생할 수 있다.
도 2 및 도 3에 도시된 스트리밍 서버(100) 및 단말 장치(200)의 동작에 대해서는 도 4 내지 도 6를 참조하여 더욱 상세히 설명한다.
도 4는 타임 시프트 방송 영상 제공 방법을 설명하기 위한 도면이다. 스트리밍 서버(100)는 PP로부터 실시간으로 채널 스트림(즉, 방송 영상)을 수신하고(S401), 수신한 채널 스트림에 대해 스트림 조각 파일(chunk)을 생성할 수 있다(S402). 스트리밍 서버(100)는 과거 소정 시간 동안의 스트림 조각 파일을 저장할 수 있다. 예컨대, 소정 시간이 1시간인 경우, 스트리밍 서버(100)는 과거 1시간 동안의 조각 파일을 저장할 수 있다.
이와 함께, 스트리밍 제공 서버는 단말 장치(200)가 실시간으로 방송 영상을 재생할 수 있도록 제 1 메타 파일을 업데이트 할 수 있다(S403). 도 5에 제 1 메타 파일의 예가 도시되어 있다. 도 5에 도시된 예에서, #ETXTINF는 청크 파일의 이름과 재생 시간을 지시한다. 도 5의 메타 파일은 6초의 재생 시간을 갖는 /68202_1600.mpg 부터 /68202_1609.mpg 파일이 순차적으로 재생될 것을 지시한다. 여기서, 조각 파일의 파일명은 채널 정보 및 시퀀스 번호(Sequence Number)가 포함될 수 있다. 일예로, 도 5의 예에서, 68202 는 방송 채널을 지시하고, 1600~1609 는 조각 파일의 시퀀스 번호를 지시하는 것일 수 있다.
스트리밍 서버(100)는 실시간 방송을 요청하는 단말 장치(200)를 위해, 실시간으로 수신되는 채널 스트림으로부터 생성되는 조각 파일의 이름 및 재생 시간을 기초로 실시간으로 제 1 메타 파일을 꾸준히 업데이트할 수 있다. 일예로, 동일한 채널에 대해 시퀀스 번호가 1610인 조각 파일이 새롭게 생성된다면, 제 1 메타 파일에는 /68202_1610.mpg 가 새롭게 추가될 수 있을 것이다.
이후, 단말 장치(200)로부터 메타 파일을 요청받은 경우(S404), 스트리밍 서버(100)는 단말 장치(200)의 메타 파일에 대한 요청의 응답으로 메타 파일을 전송할 수 있다(S405). 이때, 스트리밍 서버(100)가 수신하는 메타 파일의 요청 프레임에는 시간 정보가 포함될 수 있다. 메타 파일의 요청 프레임에 포함된 시간 정보가 현재 시간을 지시하는 경우, 스트리밍 서버(100)는 제 1 메타 파일을 단말 장치(200)로 제공할 수 있고, 메타 파일의 요청 프레임에 포함된 시간 정보가 과거 시간을 지시하는 경우, 스트리밍 서버(100)는 제 2 메타 파일을 생성하고, 생성된 제 2 메타 파일을 단말 장치(200)로 제공할 수 있다. 단말 장치(200)는 평상시 현재 시간을 지시하는 시간 정보가 메타 파일의 요청 프레임에 포함되도록 제어하다가, 타임 시프트 명령을 수신하면 과거 시간을 지시하는 시간 정보가 메타 파일의 요청 프레임에 포함되도록 제어할 수 있다. 여기서, 과거 시간은 사용자의 입력에 의해 선택될 수 있다. 예컨대, 사용자가 30분 전으로 타임 시프팅을 요청한 경우, 시간 정보는 현 시점으로부터 30분 전을 가리킬 수 있을 것이고, 사용자가 1시간 전으로 타임 시프팅을 요청한 경우, 시간 정보는 현 시점으로부터 1시간 전을 가리킬 수 있을 것이다.
도 6에 제 2 메타 파일의 예가 도시되어 있다. 도 6에 도시된 예에서와 같이, 스트리밍 서버(100)는 시간 정보가 가리키는 과거 특정 시간의 방송 영상의 조각 파일의 목록을 포함하도록 메타 파일을 생성할 수 있다. 도 6의 메타 파일은 6초의 재생 시간을 갖는 /68202_1000.mpg 부터 /68202_1609.mpg 파일이 순차적으로 재생될 것을 지시한다. 도 5과 비교하면, 실시간 방송 영상의 재생을 위한 도 5의 메타 파일에 비해, 과거 방송 용상의 재생을 위한 도 6의 메타 파일에 포함된 조각 파일의 시퀀스 번호가 더 앞번호일 것이다.
스트리밍 서버(100)로부터 메타 파일을 수신한 단말 장치(200)는 메타 파일을 분석하고(S406), 메타 파일이 지시하는 조각 파일을 스트리밍 서버(100)에게 요청할 수 있다(S407). 예컨대, 도 5에 도시된 제 1 메타 파일을 이용하는 경우, 제어부(260)는 제 1 메타 파일이 지시하는 /68202_1600.mpg 부터 /68202_1609.mpg 파일을 요청할 수 있을 것이다. 이와 달리, 도 6에 도시된 제 2 메타 파일을 이용하는 경우, 제어부(260)는 제 2 메타 파일이 지시하는 /68202_1000.mpg 부터 /68202_1009.mpg 파일을 요청할 수 있을 것이다.
스트리밍 서버(100)는 단말 장치(200)의 요청에 대응하여 조각 파일을 전송할 수 있다(S408). 단말 장치(200)는 수신한 조각 파일을 메타 파일이 지시하는 순서대로 재생할 수 있다.
도시되지는 않았지만, 단말 장치(200)가 스트리밍 서버(100)에게 전송하는 수신하는 메타 파일의 요청 프레임에는 채널 정보가 더 포함될 수도 있다. 스트리밍 서버(100)는 채널 정보가 지시하는 채널의 메타 파일을 단말 장치(200)에 제공할 수 있을 것이다.
도 7 및 도 8은 타임 시프팅 명령을 수신하기 위해 제공되는 유저 인터페이스를 설명하기 위한 예시도이다. 특정 채널의 실시간 방송 영상이 재생되는 동안, 제어부(260)는 해당 채널이 타임 시프팅 기능을 지원하는 채널인지 여부를 확인할 수 있다. 타임 시프팅이 가능한 채널은, 스트리밍 서버(100)가 과거 방송 영상을 저장하고 있는 채널을 의미하고, 단말 장치(200)는 스트리밍 서버(100)로부터 해당 채널의 과거 방송 영상 저장 유무와 관련된 정보를 수신하여, 타임 시프팅 기능을 지원하는 채널인지 여부를 확인할 수 있다.
타임 시프팅 기능을 지원하지 않는 채널의 방송 영상이 재생되는 동안 사용자로부터 타임 시프트 명령이 입력되면, 제어부(260)는 도 7에 도시된 예에서와 같이 해당 채널은 타임 시프팅이 지원되지 않음을 알리는 팝업 창(710)이 출력되도록 제어할 수 있다.
여기서, 타임 시프트 명령은 단말 장치(200)를 원격 제어하기 위한 리모컨에 의해 입력될 수도 있지만, 단말 장치(200)가 터치스크린의 입력 장치를 구비한 경우라면, 기 정의된 터치에 의해 입력될 수도 있다. 여기서, 기 정의된 터치는 터치스크린을 소정 횟수 두드리는 것, 포인터를 터치스크린에 접촉시킨 상태에서 일 방향으로 플리킹(flicking) 하는 것 등 다양한 형태를 띌 수 있다.
도 7의 예와 달리, 타임 시프팅 기능을 지원하는 채널의 방송 영상이 재생되는 동안 사용자로부터 타임 시프트 명령이 입력되면, 제어부(260)는 도 8에 도시된 예에서와 같이 현재 재생되는 방송 프로그램의 구간별 하이라이트 섬네일(810) 및 재생 시점을 가리키는 프로그레싱 바(820)를 표시할 수 있다. 사용자에 의해 과거 시점의 섬네일이 선택되거나, 사용자가 프로그레싱 바를 조절하여 재생 시점을 과거 시점으로 이동시키면, 제어부(260)는 선택된 섬네일이 재생되는 시점 혹은 조절된 재생 시점이 가리키는 특정 시점의 시간 정보를 지시하는 메타 파일 요청 프레임을 스트리밍 서버(100)에 요청할 수 있다.
타임 시프트된 방송 영상 재생 중 도 8에 도시된 'Now' 버튼(830)이 선택되면, 제어부(260)는 타임 시프팅을 멈추고 현 시점의 시간 정보를 지시하는 메타 파일 요청 프레임을 스트리밍 서버(100)에 요청할 수 있다.
도 8에 도시된 예에서와는 달리, 리모컨의 숫자 버튼을 통해 과거 특정 시점이 입력될 수도 있음은 물론이다.
상기와 같이 설명된 스트리밍 서버(100) 및 단말 장치(200)는 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100 : 스트리밍 서버
110 : 미디어 인코딩부
120 : 저장부
130 : 스트림 세그멘터
140 : 통신부
200 : 단말 장치
210 : 통신부
220 : 디코딩부
230 : 저장부
240 : 사용자 입력부
250 : 출력부
260 : 제어부

Claims (23)

  1. 실시간 방송 영상과 타임 시프트된 방송 영상을 제공할 수 있는 스트리밍 서버에 있어서,
    프로그램 제공자로부터 실시간으로 방송 영상을 수신하고, 수신된 방송 영상을 인코딩하기 위한 미디어 인코딩부;
    인코딩된 방송 영상을 분할하여 다수의 조각 파일을 생성을 생성하고 조각 파일의 재생 순서를 가리키는 메타 파일을 생성하는 스트림 세그멘터;
    과거 소정 시간 동안의 방송 분량에 해당하는 조각 파일을 저장하는 저장부; 및
    단말 장치로 소정 방송 채널의 방송 영상을 실시간으로 재생하기 위한 제 1 메타 파일 및 상기 소정 방송 채널에 대한 타임 시프팅이 지원되는지 여부에 대한 정보를 전송하기 위한 통신부를 포함하되,
    상기 소정 방송 채널에 대한 타임 시프팅 기능이 지원되는 경우에 있어, 상기 단말 장치로부터 상기 소정 방송 채널에 대한 과거 재생 시점을 가리키는 시간 정보를 포함하는 메타 파일의 요청 프레임을 수신하면, 상기 소정 방송 채널의 과거 방송 영상의 재생을 위한 제 2 메타 파일을 상기 단말 장치로 제공하는 것을 특징으로 하는 스트리밍 서버.
  2. 제 1 항에 있어서,
    상기 메타 파일은 m3u8 포맷이 적용된 것을 특징으로 하는 스트리밍 서버.
  3. 제 1 항에 있어서,
    상기 메타 파일은 조각 파일의 파일명 및 재생 시간 정보를 포함하는 것을 특징으로 하는 스트리밍 서버.
  4. 제 3 항에 있어서,
    상기 파일명은 채널 정보 및 시퀀스(sequence) 번호를 포함하는 것을 특징으로 하는 스트리밍 서버.
  5. 제 1 항에 있어서,
    상기 저장부는 과거 1시간의 분량에 해당하는 조각 파일을 저장하는 것을 특징으로 하는 스트리밍 서버.
  6. 삭제
  7. 실시간 방송 영상과 타임 시프트된 방송 영상을 재생할 수 있는 단말 장치에 있어서,
    사용자 입력을 수신하기 위한 사용자 입력부;
    스트리밍 서버로부터 방송 영상의 조각 파일 및 메타 파일과 소정 방송 채널이 타임 시프팅 기능을 지원하는지를 지시하는 정보를 수신하기 위한 통신부;
    상기 조각 파일의 재생 영상을 출력하기 위한 출력부; 및
    상기 스트리밍 서버로부터 상기 소정 방송 채널에 대한 실시간 방송 영상을 재생하기 위한 제 1 메타 파일이 수신되면, 상기 제 1 메타 파일이 정하는 순서대로 조각 파일을 재생하는 제어부를 포함하되,
    상기 제어부는, 상기 소정 방송 채널이 타임 시프팅 기능을 지원하는 경우, 상기 소정 방송 채널의 과거 재생 시점을 가리키는 시간 정보를 포함하는 메타 파일의 요청 프레임을 상기 스트리밍 서버로 전송하고,
    상기 소정 방송 채널의 과거 방송 영상의 재생을 위한 제 2 메타 파일이 수신되면, 상기 제 2 메타 파일이 정하는 순서대로 조각 파일을 재생하는 것을 특징으로 하는 단말 장치.
  8. 제 7 항에 있어서,
    상기 메타 파일은 m3u8 포맷이 적용된 것을 특징으로 하는 단말 장치.
  9. 제 7 항에 있어서,
    상기 메타 파일은 조각 파일의 파일명 및 재생 시간 정보를 포함하는 것을 특징으로 하는 단말 장치.
  10. 제 9 항에 있어서,
    상기 파일명은 채널 정보 및 시퀀스(sequence) 번호를 포함하는 것을 특징으로 하는 단말 장치.
  11. 삭제
  12. 제 7 항에 있어서, 상기 제어부는,
    타임 시프팅 기능을 지원하지 않는 상기 소정 방송 채널에 대한 타임 시프팅 기능의 수행 명령을 수신한 경우, 상기 출력부를 통해 타임 시프팅 기능을 지원하지 않음을 알리는 팝업 창이 출력되도록 제어하는 것을 특징으로 하는 단말 장치.
  13. 제 7 항에 있어서, 상기 제어부는,
    타임 시프팅 기능을 지원하는 상기 소정 방송 채널에 대한 타임 시프팅 기능의 수행 명령을 수신한 경우, 상기 타임 시프팅 기능의 수행 명령에 대한 응답으로, 상기 소정 방송 채널의 방송 영상의 재생 시점을 조절할 수 있는 프로그레싱 바가 출력되도록 제어하는 것을 특징으로 하는 단말 장치.
  14. 실시간 방송 영상과 타임 시프트된 방송 영상을 제공할 수 있는 시스템에 있어서,
    실시간으로 수신된 방송 영상을 다수의 조각 파일로 분할하고, 메타 파일을 생성하는 스트리밍 서버; 및
    상기 스트리밍 서버로부터 소정 방송 채널의 방송 영상을 실시간으로 재생하기 위한 제 1 메타 파일을 수신하고, 상기 제 1 메타 파일이 지시하는 순서대로 상기 조각 파일을 재생하는 단말 장치
    를 포함하되,
    상기 스트리밍 서버는, 상기 소정 방송 채널에 대한 타임 시프팅이 지원되는지 여부에 대한 정보를 상기 단말 장치로 송신하고, 상기 소정 방송 채널에 대한 타임 시프팅 기능이 지원되는 경우에 있어서, 상기 단말 장치로부터 상기 소정 방송 채널의 과거 재생 시점을 가리키는 메타 파일의 요청 프레임을 수신한 경우, 상기 소정 방송 채널의 과거 방송 영상의 재생을 위한 제 2 메타 파일을 상기 단말 장치로 전송하는 것을 특징으로 하는 시스템.
  15. 제 14 항에 있어서,
    상기 메타 파일은 m3u8 포맷이 적용된 것을 특징으로 하는 시스템.
  16. 제 14 항에 있어서,
    상기 메타 파일은 조각 파일의 파일명 및 재생 시간 정보를 포함하는 것을 특징으로 하는 시스템.
  17. 제 16 항에 있어서,
    상기 파일명은 채널 정보 및 시퀀스(sequence) 번호를 포함하는 것을 특징으로 하는 시스템.
  18. 삭제
  19. 실시간 방송 영상과 타임 시프트된 방송 영상을 제공하는 방법에 있어서,
    실시간으로 수신된 방송 영상을 다수의 조각 파일로 분할하는 단계;
    생성된 상기 조각 파일을 기초로 소정 방송 채널의 실시간 방송 영상 재생을 위한 제 1 메타 파일을 갱신하는 단계; 및
    단말 장치로 상기 제 1 메타 파일 및 상기 소정 방송 채널이 타임 시프팅을 지원하는지 여부를 지시하는 정보를 전송하는 단계를 포함하되,
    상기 소정 방송 채널이 타임 시프팅 기능을 지원하는 경우, 상기 단말 장치로부터 상기 소정 방송 채널의 과거 재생 시점을 가리키는 시간 정보를 포함하는 메타 파일의 요청 프레임을 수신하는 단계; 및
    상기 소정 방송 채널의 과거 방송 영상의 재생을 위한 제 2 메타 파일을 상기 단말 장치로 전송하는 단계를 더 포함하는 방법.
  20. 제 19 항에 있어서,
    상기 제 1 메타 파일 및 상기 제 2 메타 파일은 m3u8 포맷이 적용된 것을 특징으로 하는 방법.
  21. 제 19 항에 있어서,
    상기 제 1 메타 파일 및 상기 제 2 메타 파일은 조각 파일의 파일명 및 재생 시간 정보를 포함하는 것을 특징으로 하는 방법.
  22. 제 21 항에 있어서,
    상기 파일명은 채널 정보 및 시퀀스(sequence) 번호를 포함하는 것을 특징으로 하는 방법.
  23. 삭제
KR1020130047607A 2013-04-29 2013-04-29 타임 시프트 영상 제공 시스템 및 방법, 이를 위한 스트리밍 서버 및 단말 장치 KR101452345B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130047607A KR101452345B1 (ko) 2013-04-29 2013-04-29 타임 시프트 영상 제공 시스템 및 방법, 이를 위한 스트리밍 서버 및 단말 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130047607A KR101452345B1 (ko) 2013-04-29 2013-04-29 타임 시프트 영상 제공 시스템 및 방법, 이를 위한 스트리밍 서버 및 단말 장치

Publications (1)

Publication Number Publication Date
KR101452345B1 true KR101452345B1 (ko) 2014-10-22

Family

ID=51998126

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130047607A KR101452345B1 (ko) 2013-04-29 2013-04-29 타임 시프트 영상 제공 시스템 및 방법, 이를 위한 스트리밍 서버 및 단말 장치

Country Status (1)

Country Link
KR (1) KR101452345B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019112360A1 (ko) * 2017-12-07 2019-06-13 네이버 주식회사 지연 생중계를 위한 방법 및 시스템
US10404828B2 (en) 2016-01-22 2019-09-03 Naver Corporation Streaming apparatus, streaming method, and streaming service system using the streaming apparatus
KR20200002771A (ko) * 2019-12-31 2020-01-08 네이버 주식회사 지연 생중계를 위한 방법 및 시스템
US11889138B2 (en) 2017-05-02 2024-01-30 Hanwha Techwin Co., Ltd. Systems, servers and methods of remotely providing media to a user terminal and managing information associated with the media

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060095010A (ko) * 2005-02-25 2006-08-30 엘지전자 주식회사 디지털 방송 녹화 방법 및 장치
US20120011267A1 (en) * 2009-03-19 2012-01-12 Azuki Systems, Inc. Live streaming media delivery for mobile audiences

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060095010A (ko) * 2005-02-25 2006-08-30 엘지전자 주식회사 디지털 방송 녹화 방법 및 장치
US20120011267A1 (en) * 2009-03-19 2012-01-12 Azuki Systems, Inc. Live streaming media delivery for mobile audiences

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10404828B2 (en) 2016-01-22 2019-09-03 Naver Corporation Streaming apparatus, streaming method, and streaming service system using the streaming apparatus
US11889138B2 (en) 2017-05-02 2024-01-30 Hanwha Techwin Co., Ltd. Systems, servers and methods of remotely providing media to a user terminal and managing information associated with the media
WO2019112360A1 (ko) * 2017-12-07 2019-06-13 네이버 주식회사 지연 생중계를 위한 방법 및 시스템
KR102063624B1 (ko) * 2017-12-07 2020-01-09 네이버 주식회사 지연 생중계를 위한 방법 및 시스템
KR20200002771A (ko) * 2019-12-31 2020-01-08 네이버 주식회사 지연 생중계를 위한 방법 및 시스템
KR102085072B1 (ko) 2019-12-31 2020-03-05 네이버 주식회사 지연 생중계를 위한 방법 및 시스템

Similar Documents

Publication Publication Date Title
US20220124136A1 (en) Wireless media streaming system
US11539989B2 (en) Media content redirection
JP7284906B2 (ja) メディアコンテンツの配信および再生
US11537562B2 (en) Auxiliary manifest file to provide timed metadata
US10945048B2 (en) Methods and apparatus for presenting advertisements during playback of recorded television content
US8949912B2 (en) ABR live to VOD system and method
US20120174163A1 (en) Tuner Control for Streaming Live Television
US20150189344A1 (en) Methods, systems, and media for certifying a playback device
KR102499231B1 (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
KR101452345B1 (ko) 타임 시프트 영상 제공 시스템 및 방법, 이를 위한 스트리밍 서버 및 단말 장치
KR102090070B1 (ko) 스트리밍 서버, 클라이언트 단말 및 이를 이용한 av 라이브 스트리밍 시스템
US11856242B1 (en) Synchronization of content during live video stream
US11153640B2 (en) Memory management of replacement content in digital TV system
US20220078497A1 (en) Embeddable media playback interaction sharing
KR20160107617A (ko) 영상 서비스 제공 방법, 사용자 단말기 및 컴퓨터 프로그램
CN118339839A (zh) 在先进电视系统委员会(atsc)3.0系统中模糊可替换内容
KR20230044269A (ko) 포맷들을 atsc 3.0 저전력 무선으로 변환하기 위한 동글
CN115604496A (zh) 一种显示设备、直播切台方法及存储介质
KR20070063108A (ko) 영상물효과 선행처리 방식을 이용하여 영상물효과를효율적으로 보여주는 앨범 시스템 및 방법

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170907

Year of fee payment: 6