KR100931344B1 - Vod 스트리밍 서비스를 제공하는 방법과 그를 위한시스템, 서버 및 사용자 단말기 - Google Patents

Vod 스트리밍 서비스를 제공하는 방법과 그를 위한시스템, 서버 및 사용자 단말기 Download PDF

Info

Publication number
KR100931344B1
KR100931344B1 KR1020070088135A KR20070088135A KR100931344B1 KR 100931344 B1 KR100931344 B1 KR 100931344B1 KR 1020070088135 A KR1020070088135 A KR 1020070088135A KR 20070088135 A KR20070088135 A KR 20070088135A KR 100931344 B1 KR100931344 B1 KR 100931344B1
Authority
KR
South Korea
Prior art keywords
vod
user terminal
server
size
streaming data
Prior art date
Application number
KR1020070088135A
Other languages
English (en)
Other versions
KR20090022615A (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 KR1020070088135A priority Critical patent/KR100931344B1/ko
Publication of KR20090022615A publication Critical patent/KR20090022615A/ko
Application granted granted Critical
Publication of KR100931344B1 publication Critical patent/KR100931344B1/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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 VOD 스트리밍 서비스를 제공하는 방법과 그를 위한 시스템, 서버 및 사용자 단말기에 관한 것이다.
본 발명은 유무선 통신망을 이용하여 VOD 스트리밍 서비스를 제공하는 시스템에 있어서, 상기 VOD 스트리밍 서비스에 해당하는 VOD 스트리밍 데이터(Video On Demand Streaming Data)를 수신하여 재생하는 사용자 단말기; 및 상기 사용자 단말기로 상기 VOD 스트리밍 데이터를 전송하며, X-RTCP 듀레이션 파라미터 메시지(X-Real-Time transport Control Protocol Duration Parameter Message)를 생성하여 상기 사용자 단말기로 전송하며, 상기 사용자 단말기로부터 DSI 메시지(Decoding Status Information Message)를 수신하여 분석한 후 상기 사용자 단말기의 큐 버퍼(Queue Buffer) 내에 재생 가능한 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태인지의 여부를 확인하고, 확인 결과, 상기 큐 버퍼 내에 재생 가능한 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태가 아닌 경우, 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간에 따라 비트-레이트(Bit-Rate)를 점차 하향으로 제어하는 VOD 서버를 포함하되, 상기 사용자 단말기는 상기 VOD 서버로부터 수신한 상기 X-RTCP 듀레이션 파라미터 메시지에 따라 일정한 주기로 상기 DSI 메시지를 생성하여 상기 VOD 서버로 전송하는 것을 특징으로 하는 VOD 스트리밍 서비스를 제공하는 시스템을 제공한다.
본 발명에 의하면, VOD 스트리밍 서비스를 제공하는 과정에서, QoS를 향상하 여 오디오 및 비디오 데이터를 최대한 끊기지 않게 출력할 수 있는 효과가 있다.
QoS, VOD, 스트리밍, RTP, SDP, RTSP, RTCP, 비트-레이트

Description

VOD 스트리밍 서비스를 제공하는 방법과 그를 위한 시스템, 서버 및 사용자 단말기{Method for Providing Video On Demand Streaming Service, System, Server And User Terminal Therefor}
본 발명은 VOD 스트리밍 서비스를 제공하는 방법과 그를 위한 시스템, 서버 및 사용자 단말기에 관한 것이다. 더욱 상세하게는 유무선 통신망을 이용하여 사용자 단말기로 VOD(Video On Demand) 서비스를 제공하는 과정에서, VOD 서버에서 X-RTCP 듀레이션 파라미터 메시지(X-RTCP Duration Parameter Message)를 생성하여 사용자 단말기로 전송하면, 사용자 단말기는 X-RTCP 듀레이션 파라미터 메시지에 따른 일정한 주기로 DSI 메시지지(Decoding Status Information Message)를 생성한 후 X-RTCP 듀레이션 파라미터 메시지에 따른 일정한 주기로 DSI 메시지를 VOD 서버로 전송하며, VOD 서버에서 DSI 메시지를 분석하여 사용자 단말기의 큐 버퍼(Queue Buffer) 내의 재생 가능한 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간에 따라 비트-레이트(Bit-Rate)를 하향 또는 상향으로 조절함으로써, 최적의 QoS를 제공할 수 있는 VOD 스트리밍 서비스를 제공하는 방법과 그를 위한 시스템, 서버 및 사용자 단말기에 관한 것이다.
컴퓨터, 전자 및 통신 기술이 비약적으로 발전함에 따라 무선통신망(Wireless Network)을 이용한 다양한 무선통신 서비스가 제공되고 있다. 이러한, 유무선 통신망을 이용하여 제공하는 서비스는 음성 서비스뿐만 아니라, 써킷(Circuit) 데이터, 패킷(Packet) 데이터 등과 같은 데이터를 송신하는 멀티미디어 서비스로 발전해 가고 있다.
종래의 멀티미디어 서비스에 대해 설명하자면, 엠펙(MPEG; Moving Picture Experts Group, 이하 'MPEG'으로 표기함)은 1992년부터 지각 오디오 부호화 방법이 국제 표준화되기 시작하였고, 돌비(Dolby), 소니(Sony), 에이티앤티(AT&T) 등의 오디오 메이커에서 여러 가지 지각 오디오 부호화 기술들로 개발되었으며, 현재 흔히 이용되고 있는 엠피3(MP3; 이하 'MP3'로 표기함)는 MPEG-1 오디오 계층 III를 지칭하는 것이다.
최근 들어, 인터넷 환경의 급속한 팽창과 고속화에 따라, MP3와 같은 음악 파일을 특정 웹 사이트 또는 P2P 등을 이용하여 다운로드(download) 받아서 이용하는 일은 이제 일상적인 일이 되었으며, 1999년도부터 국내에서 처음 개발되기 시작한 휴대용 MP3 플레이어의 보급으로 언제 어디서든지 손쉽게 디지털 오디오를 들을 수 있게 되었다.
또한, 실시간 전송이 필요한 음성, 오디오, 비디오 데이터를 전송하기 위한 'RTP(Real-Time transport Protocol)/RTSP(Real-Time Streaming Protocol)'와 같은 프로토콜의 등장으로 멀티미디어 데이터 전체를 다운로드 한 후 재생하지 않고, 일부만 받아도 재생이 가능한 서비스(VOD 서비스)가 등장하였다.
스트림(Stream) 데이터란 일반적으로 CD나 HDD 같은 스토리지 미디어가 아닌 유/무선 네트워크를 이용한 방송 환경에서 멀티미디어 컨텐츠를 전송하고 전송과 동시에 재생가능한 데이터 형태를 의미하며, 스트림 데이터는 방송이나 유/무선 인터넷 등에서 전파의 수신 상태나 네트워크 상태에 따라서 수신되는 데이터의 질이 달라진다.
일반적으로 VOD 스트리밍을 재생하는 방식으로 비디오 및 오디오가 끊김 없이 지속적으로 재생되기 위해서는 사용자 단말기의 VOD 서비스를 재생하는 플레이어에서 VOD 스트리밍을 재생하기 전에 수 초간 버퍼링하는 큐 버퍼(Queue Buffer)의 관리가 중요하다.
여기서, 큐 버퍼(Queue Buffer 또는 Initial Buffer)란 VOD 스트리밍을 재생하는 과정에서, VOD 서버로부터 사용자 단말기로 전송되는 데이터를 순서대로 보관해 두는 버퍼로서, 데이터들을 차례대로 보관해 두었다가 순서대로 하나씩 읽어내어 재생 처리할 수 있도록 하는 기능을 수행하는 버퍼를 의미한다.
종래의 VOD 스트리밍을 재생하는 방식은, VOD 서버에서 유무선 통신망을 경유하여 사용자 단말기로 VOD 스트리밍 데이터를 전송하면, 사용자 단말기는 VOD 스트리밍 데이터를 수신하는 것이며, 이 과정에서 VOD(비디오 및 오디오) 스트리밍 데이터가 일정하게 수신되어야 큐 버퍼 내의 VOD 스트리밍 데이터가 차례대로 보관되는 것이며, 그에 따라 VOD 스트리밍 데이터가 끊김 없이 재생되는 것이다.
하지만, 유무선 통신망의 통신 속도가 떨어지는 경우, 주어진 시간 내에 VOD 스트리밍 데이터가 큐 버퍼로 일정하게 수신되지 않는 것이며, 큐 버퍼내의 보관된 VOD 스트리밍 데이터가 점점 줄어들게 되는 것이며, 종단에는 VOD 스트리밍 서비스가 중단된다는 단점이 발생하는 것이다.
따라서, VOD 스트리밍 데이터를 재생하는 과정에서 큐 버퍼 내에 보관된 VOD 스트리밍 데이터의 양이 얼마나 있는지의 여부를 확인하여 VOD 서버로 전송함으로써, 최적의 QoS를 제공할 수 있는 기술 개발이 요구되는 실정이다.
전술한 문제점을 해결하기 위해 본 발명은, 유무선 통신망을 이용하여 사용자 단말기로 VOD(Video On Demand) 서비스를 제공하는 과정에서, VOD 서버에서 X-RTCP 듀레이션 파라미터 메시지(X-RTCP Duration Parameter Message)를 생성하여 사용자 단말기로 전송하면, 사용자 단말기는 X-RTCP 듀레이션 파라미터 메시지에 따른 일정한 주기로 DSI 메시지지(Decoding Status Information Message)를 생성한 후 X-RTCP 듀레이션 파라미터 메시지에 따른 일정한 주기로 DSI 메시지를 VOD 서버로 전송하며, VOD 서버에서 DSI 메시지를 분석하여 사용자 단말기의 큐 버퍼(Queue Buffer) 내의 재생 가능한 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간에 따라 비트-레이트(Bit-Rate)를 하향 또는 상향으로 조절함으로써, 최적의 QoS를 제공할 수 있는 VOD 스트리밍 서비스를 제공하는 방법과 그를 위한 시스템, 서버 및 사용자 단말기를 제공하는 데 그 목적이 있다.
전술한 목적을 달성하기 위해 본 발명은, 유무선 통신망을 이용하여 VOD 스트리밍 서비스를 제공하는 시스템에 있어서, 상기 VOD 스트리밍 서비스에 해당하는 VOD 스트리밍 데이터(Video On Demand Streaming Data)를 수신하여 재생하는 사용자 단말기; 및 상기 사용자 단말기로 상기 VOD 스트리밍 데이터를 전송하며, X-RTCP 듀레이션 파라미터 메시지(X-Real-Time transport Control Protocol Duration Parameter Message)를 생성하여 상기 사용자 단말기로 전송하며, 상기 사용자 단말기로부터 DSI 메시지(Decoding Status Information Message)를 수신하여 분석한 후 상기 사용자 단말기의 큐 버퍼(Queue Buffer) 내에 재생 가능한 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태인지의 여부를 확인하고, 확인 결과, 상기 큐 버퍼 내에 재생 가능한 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태가 아닌 경우, 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간에 따라 비트-레이트(Bit-Rate)를 점차 하향으로 제어하는 VOD 서버를 포함하되, 상기 사용자 단말기는 상기 VOD 서버로부터 수신한 상기 X-RTCP 듀레이션 파라미터 메시지에 따라 일정한 주기로 상기 DSI 메시지를 생성하여 상기 VOD 서버로 전송하는 것을 특징으로 하는 VOD 스트리밍 서비스를 제공하는 시스템을 제공한다.
또한, 본 발명의 다른 목적에 의하면, VOD 서버가 사용자 단말기로 VOD 스트리밍 서비스를 제공하는 방법에 있어서, (a) 상기 사용자 단말기로 상기 VOD 스트리밍 데이터를 전송하는 단계; (b) 상기 사용자 단말기로 X-RTCP 듀레이션 파라미터 메시지를 전송하는 단계; (c) 상기 사용자 단말기로부터 DSI 메시지를 수신하여 분석한 후 상기 사용자 단말기의 큐 버퍼(Queue Buffer) 내에 재생 가능한 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태인지의 여부를 확인하는 단계; 및 (d) 상기 단계 (c)의 확인 결과, 상기 큐 버퍼 내에 재생 가능한 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태가 아닌 경우, 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간에 따라 비트-레이트를 점차 하향으로 제어하는 단계를 포함하는 것을 특징으로 하는 VOD 스트리밍 서비스를 제공하는 방법을 제공한다.
또한, 본 발명의 다른 목적에 의하면, 서버 통신부 및 서버 저장부를 구비하며, 유무선 통신망을 경유하여 사용자 단말기와 연동하여 VOD 스트리밍 서비스를 제공하는 서버에 있어서, 상기 사용자 단말기로 상기 VOD 스트리밍 데이터를 전송하도록 제어하며, X-RTCP 듀레이션 파라미터 메시지를 생성하여 상기 사용자 단말기로 전송하며, 상기 사용자 단말기로부터 DSI 메시지를 수신하여 분석한 후 상기 사용자 단말기의 큐 버퍼 내에 재생 가능한 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태인지의 여부를 확인하고, 확인 결과, 상기 큐 버퍼 내에 재생 가능한 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태가 아닌 경우, 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간에 따라 비트-레이트를 점차 하향으로 제어하는 서버 제어부를 포함하는 것을 특징으로 하는 VOD 스트리밍 서비스를 제공하는 서버를 제공한다.
또한, 본 발명의 다른 목적에 의하면, VOD 서버에 접속하기 위한 웹 브라우저, 상기 웹 브라우저를 포함하는 소프트웨어를 저장하는 메모리와 상기 소프트웨어를 실행하여 연산 및 제어하기 위한 마이크로프로세서를 구비한 사용자 단말기에 있어서, 상기 VOD 서버로부터 VOD 스트리밍 데이터를 수신하여 재생하도록 제어하며, 상기 VOD 서버로부터 X-RTCP 듀레이션 파라미터 메시지를 수신하는 경우 상기 X-RTCP 듀레이션 파라미터 메시지에 따른 일정한 주기로 DSI 메시지를 생성하여 상기 VOD 서버로 전송하도록 제어하는 VOD 플레이어를 포함하는 것을 특징으로 하는 VOD 스트리밍 서비스를 제공하는 사용자 단말기를 제공한다.
이상에서 설명한 바와 같이 본 발명에 의하면, 유무선 통신망을 이용하여 사용자 단말기로 VOD(Video On Demand) 서비스를 제공하는 과정에서, VOD 서버에서 X-RTCP 듀레이션 파라미터 메시지(X-RTCP Duration Parameter Message)를 생성하여 사용자 단말기로 전송하면, 사용자 단말기는 X-RTCP 듀레이션 파라미터 메시지에 따른 일정한 주기로 DSI 메시지지(Decoding Status Information Message)를 생성한 후 X-RTCP 듀레이션 파라미터 메시지에 따른 일정한 주기로 DSI 메시지를 VOD 서버로 전송하며, VOD 서버에서 DSI 메시지를 분석하여 사용자 단말기의 큐 버퍼(Queue Buffer) 내의 재생 가능한 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간에 따라 비트-레이트(Bit-Rate)를 하향 또는 상향으로 조절함으로써, 최적의 QoS를 제공할 수 있는 효과가 있다.
즉, 본 발명에서는 VOD 스트리밍 서비스를 제공하는 과정에서, QoS를 향상하여 오디오 및 비디오 데이터를 최대한 끊기지 않게 출력할 수 있는 효과가 있다.
또한, 사용자 단말기에서 큐 버퍼 내의 VOD 스트리밍의 데이터 양을 포함한 DSI 메시지를 VOD 서버로 전송하는 주기를 X-RTCP 듀레이션 파라미터 메시지에 따라 다이나믹하게 조정하여 불필요한 트래픽을 최소화할 수 있는 효과가 있을 뿐만 아니라, 네트워크상의 효율성이 증대되어 더욱 선명한 비디오 및 오디오 데이터를 출력할 수 있는 효과가 있다.
이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상 세한 설명은 생략한다.
도 1은 본 발명의 제 1 실시예 및 제 2 실시예에 따른 VOD 스트리밍 서비스를 제공하는 시스템을 개략적으로 나타낸 블럭 구성도이다.
본 발명의 제 1 실시예 및 제 2 실시예에 따른 VOD 스트리밍 서비스를 제공하는 시스템은, 사용자 단말기(110), 유무선 통신망(120) 및 VOD 서버(130)를 포함한다.
사용자 단말기(110)는 사용자의 키 조작에 따라 유무선 통신망(120)을 경유하여 각종 웹 페이지 데이터를 수신할 수 있는 단말기를 말하는 것이며, 개인용 컴퓨터(PC: Personal Computer), 노트북, 개인휴대용 정보단말기(PDA: Personal Digital Assistant) 및 이동통신 단말기(Mobile Communication Terminal) 등 중 어느 하나일 수 있으며, 유무선 통신망(120)을 경유하여 VOD 서버(130)에 접속하기 위한 웹 브라우저와 프로그램을 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 단말기를 의미한다.
사용자 단말기(110)는 사용자의 조작에 의해 유무선 통신망(120)을 경유하여 VOD 서버(130)로 VOD 서비스 요청 신호를 전송하며, 유무선 통신망(120)을 경유하여 VOD 서버(130)로부터 VOD 스트리밍 데이터를 수신한 후 사용자 단말기(110)에 탑재된 VOD 플레이어(112)를 이용하여 VOD 스트리밍 데이터를 재생하는 기능을 수행한다.
본 발명의 제 2 실시예에 따른 VOD 플레이어(112)는 VOD 서버(130)로부터 VOD 스트리밍 데이터를 수신하여 재생하도록 제어하는 기능을 수행하며, VOD 서 버(130)로부터 X-RTCP 듀레이션 파라미터 메시지를 수신하는 경우 X-RTCP 듀레이션 파라미터 메시지에 따라 일정한 주기로 Qu(410), QuSize(420), Buf.Remain(430) 및 Seq.No(440) 파라미터를 포함한 DSI(Decoding Status Information) 메시지를 생성하도록 제어하는 기능을 수행한다.
또한, 본 발명의 제 2 실시예에 따른 VOD 플레이어(112)는 X-RTCP 듀레이션 파라미터 메시지에 따라 일정한 주기로 DSI 메시지를 VOD 서버(130)로 전송하도록 제어하는 기능을 수행한다.
또한, 본 발명의 제 2 실시예에 따른 VOD 플레이어(112)는 DSI 메시지를 RTCP(Real-Time transport Control Protocol)/RR(Receiver Report) 패킷의 익스텐션 필드(Extension Field)에 포함하여 VOD 서버(130)로 전송할 수 있다. 여기서, DSI 메시지를 RTCP/RR 패킷의 익스텐션 필드에 포함하여 VOD 서버(130)로 전송하는 이유로는 종래의 VOD 서버와 DSI 메시지 간에 호환성을 유지하기 위함이다. 하지만, 이는 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 VOD 플레이어(112)가 DSI 메시지를 VOD 서버(130)로 전송하는 방식을 다양하게 수정 및 변형하여 적용 가능할 것이다. 여기서, DSI 메시지에 대한 구체적인 설명은 아래 도 4를 통해서 하도록 한다.
유무선 통신망(120)은 인터넷망, 인트라넷망, 이동통신망, 위성 통신망 등 다양한 유무선 통신 기술을 이용하여 인터넷 프로토콜로 데이터를 송수신할 수 있는 망을 말한다. 여기서, 유무선 통신망(120)에 대한 기술은 이미 공지된 기술이므 로 더 자세한 설명은 생략하도록 한다.
VOD 서버(130)는 유무선 통신망(120)을 경유하여 사용자 단말기(110)로부터 VOD 서비스 요청 신호를 수신하며, 사용자 단말기(110)로 VOD 스트리밍 데이터를 전송하는 기능을 수행한다.
본 발명의 제 1 실시예에 따른 VOD 서버(130)는 VOD 스트리밍 데이터를 사용자 단말기(110)로 전송하는 과정에서 사용자 단말기(110)와 처음 연결될 때 RTSP(Real-Time Streaming Protocol) 및 SDP(Session Description Protocol) 프로토콜을 이용하여 X-RTCP 듀레이션 파라미터 메시지를 사용자 단말기(110)로 전송하는 기능을 수행한다.
본 발명의 제 1 실시예에 따른 VOD 서버(130)는 사용자 단말기(110)로부터 DSI 메시지를 수신하여 분석하며, 사용자 단말기(110) 내의 큐 버퍼에 재생 가능한 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간이 양호한 상태인지의 여부를 확인한다.
확인 결과, 큐 버퍼 내에 재생 가능한 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간이 양호한 상태인 경우, VOD 서버(130)는 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간에 따라 비트-레이트(Bit-Rate)를 하향 또는 상향으로 제어하는 기능을 수행한다.
한편, 확인 결과, 큐 버퍼 내에 재생 가능한 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간이 양호한 상태가 아닌 경우, VOD 서버(130)는 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간에 따라 비트-레이트(Bit-Rate)를 점차 하향으로 제어하여 VOD 스트리밍 데이터의 재생이 끊기지 않도록 하는 기능을 수행한다. 즉, VOD 서버(130)는 비트-레이트를 하향으로 제어함으로써 사용자 단말기(110)에서 VOD 스트리밍 데이터의 재생이 끊기지 않도록 하는 것이다.
본 발명의 제 1 실시예에 따른 VOD 서버(130)는 비트-레이트를 하향으로 제어한 후에 사용자 단말기(110)로부터 DSI 메시지를 수신하여 분석하며, 사용자 단말기(110) 내의 큐 버퍼에 재생 가능한 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간이 양호한 상태인지의 여부를 확인한다.
확인 결과, 큐 버퍼에 재생 가능한 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간이 양호한 상태로 회복되는 경우, VOD 서버(130)는 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간에 따라 비트-레이트(Bit-Rate)를 점차 상향으로 제어하여 VOD 스트리밍 데이터의 재생 화질이 높아지도록 하는 기능을 수행한다. 즉, VOD 서버(130)는 비트-레이트를 상향으로 제어함으로써 사용자 단말기(110)에서 VOD 스트리밍 데이터의 재생 화질이 높아지도록(즉, 초기 수준으로 회복) 하는 것이다.
도 2는 본 발명의 제 1 실시예에 따른 VOD 서버를 개략적으로 나타낸 블럭 구성도이다.
본 발명의 제 1 실시예에 따른 VOD 서버(130)는 서버 통신부(210), 서버 제어부(220) 및 서버 저장부(230)를 포함하여 구성된다.
본 발명에서는 VOD 서버(130)가 서버 통신부(210), 서버 제어부(220) 및 서버 저장부(230)만을 포함하여 구성되는 것으로 기재하고 있으나, 이는 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분 야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 VOD 서버(130)에 포함되는 구성 요소에 대하여 다양하게 수정 및 변형하여 적용 가능할 것이다.
서버 통신부(210)는 유무선 통신망(120)을 경유하여 사용자 단말기(110)와 연동하는 기능을 수행하는 통신 수단으로서, 각종 데이터를 송수신하는 기능을 수행한다.
서버 제어부(220)는 서버의 전반적인 기능을 제어하는 제어 수단으로서, 서버 통신부(210)를 제어하여 사용자 단말기(110)로 VOD 스트리밍 데이터를 전송하는 과정에서 사용자 단말기(110)와 처음 연결될 때 RTSP(Real-Time Streaming Protocol) 및 SDP(Session Description Protocol) 프로토콜을 이용하여 X-RTCP 듀레이션 파라미터 메시지를 사용자 단말기(110)로 전송하도록 제어하는 기능을 수행한다.
서버 제어부(220)는 사용자 단말기(110)로부터 DSI 메시지를 수신하여 분석하며, 사용자 단말기(110) 내의 큐 버퍼에 재생 가능한 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간이 양호한 상태인지의 여부를 확인한다.
확인 결과, 큐 버퍼 내에 재생 가능한 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간이 양호한 상태인 경우, 서버 제어부(220)는 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간에 따라 비트-레이트(Bit-Rate)를 점차 상향으로 제어하여 VOD 스트리밍 데이터의 재생 화질이 높아지도록(즉, 초기 수준으로 회복되도록) 하는 기능을 수행한다.
한편, 확인 결과, 큐 버퍼 내에 재생 가능한 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간이 양호한 상태가 아닌 경우, 서버 제어부(220)는 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간에 따라 비트-레이트(Bit-Rate)를 점차 하향으로 제어하여 VOD 스트리밍 데이터의 재생이 끊기지 않도록 하는 기능을 수행한다.
서버 저장부(230)는 서버의 구동에 필요한 각종 데이터를 저장하는 저장수단으로서, VOD 스트리밍 데이터를 저장하는 기능을 수행한다.
도 3은 본 발명의 제 2 실시예에 따른 VOD 플레이어를 개략적으로 나타낸 블럭 구성도이다.
본 발명의 제 2 실시예에 따른 VOD 플레이어(112)는 통신 모듈(310) 및 저장 모듈(320) VOD 재생 모듈(330) 및 제어 모듈(340)을 포함한다.
본 발명에서는 VOD 플레이어(112)가 통신 모듈(310) 및 저장 모듈(320) VOD 재생 모듈(330) 및 제어 모듈(340)만을 포함하여 구성되는 것으로 기재하고 있으나, 이는 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 VOD 플레이어(112)에 포함되는 구성 요소에 대하여 다양하게 수정 및 변형하여 적용 가능할 것이다.
통신 모듈(310)은 유무선 통신망(120)을 경유하여 VOD 서버(130)와 연동하는 기능을 수행하며, 저장 모듈(320)은 VOD 플레이어(112)를 구동하는 데 필요한 각종 데이터를 저장하는 기능을 수행하며, VOD 재생 모듈(330)은 VOD 스트리밍 데이터를 재생하도록 제어하는 기능을 수행한다.
제어 모듈(340)은 VOD 서버(130)로부터 수신되는 VOD 스트리밍 데이터를 재생하여 출력하도록 제어하는 기능을 수행하며, VOD 서버(130)로부터 X-RTCP 듀레이션 파라미터 메시지를 수신하는 경우 X-RTCP 듀레이션 파라미터 메시지에 따라 일정한 주기로 Qu(410), QuSize(420), Buf.Remain(430) 및 Seq.No(440) 파라미터를 포함한 DSI(Decoding Status Information) 메시지를 생성하도록 제어하는 기능을 수행한다.
또한, 제어 모듈(340)는 X-RTCP 듀레이션 파라미터 메시지에 따라 일정한 주기로 DSI 메시지를 VOD 서버(130)로 전송하도록 제어하는 기능을 수행한다.
여기서, 제어 모듈(340)는 DSI 메시지를 RTCP(Real-Time transport Control Protocol)/RR(Receiver Report) 패킷에 포함하여 VOD 서버(130)로 전송할 수 있다. 하지만, 이는 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 제어 모듈(340)에서 DSI 메시지를 VOD 서버(130)로 전송하는 방식을 다양하게 수정 및 변형하여 적용 가능할 것이다.
도 4는 본 발명의 제 1 실시예 및 제 2 실시예에 따른 DSI 메시지의 구조를 개략적으로 나타낸 블럭 구성도이다.
본 발명에서는 DSI 메시지는 Qu(410), QuSize(420), Buf.Remain(430) 및 Seq.No(440) 파라미터를 포함한다.
Qu(410), QuSize(420), Buf.Remain(430) 및 Seq.No(440는 도 4와 같이 DSI 메시지 내의 필드에 맵핑되어 기록되는 것이다.
본 발명에서는 도 4에 기재된 바와 같이 Qu(410)가 6 비트이며, QuSize(420)가 6 비트이며, Buf.Remain(430)가 12 비트이며, Seq.No(440)가 8 비트인 것으로 기재하고 있으나, 이는 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양하게 수정 및 변형하여 적용 가능할 것이다.
Qu(410)는 사용자 단말기(110)의 큐 버퍼 내에 재생 가능한 VOD 스트리밍 데이터의 크기를 나타내는 값으로서, 사용자 단말기(110)가 큐 버퍼 내의 VOD 스트리밍 데이터를 재생할 때 걸리는 시간을 의미한다.
Qu(410)의 단위는 500 ms(millisecond)가 사용될 수 있으며, 네트워크 상태에서 로스(Loss)된 패킷을 제외하고, 현재 큐잉(Queueing) 된 버퍼만을 대상으로 한다.
Qu(410)에 대한 계산식은 아래 [수학식 1]과 같다.
Qu = {Last`s TimeStamp - Current Rendering Time - (Loss Packet의 수 × First 부터 Last 사이 RTP(Real-Time transport Protocol) 패킷의 평균 듀레이션)} / 500
여기서, First는 아래 [표 1]과 같이 RTCP/RR을 전송한 후 최초로 받은 RTP패킷을 의미하며, Last는 아래 [표 1]과 같이 RTCP/RR을 전송하기 바로 직전에 받 은 RTP 패킷을 의미한다. 또한, Last`s TimeStamp, Current Rendering Time, 평균 듀레이션 값의 단위는 모두 ms이다.
Figure 112007063557591-pat00001
여기서, [표 1]의 각각의 눈금은 RTP 데이터를 받는 시점을 의미한다.
[수학식 1]에서 First부터 Last 사이 프레임의 평균 듀레이션(Duration)은 아래 [수학식 2], [수학식 3] 및 [수학식 4]와 같은 방법으로 구할 수 있다.
Last의 Sequence Number - Fist의 Sequence Number = DSI 파라미터 계산에 참고해야 할 를 통해 보고해야 할 패킷의 수(이하, '참고 패킷 수'로 칭함.)
Last의 TimeStamp - First의 TimeStamp = DSI 파라미터 계산에 참고해야 할 재생시간(이하, '참고할 듀레이션'으로 칭함.)
참고할 듀레이션 / 참고할 패킷 수 = 참고할 구간의 평균 듀레이션(이하, '평균 듀레이션'으로 칭함.)
즉, [수학식 4]에서 산출한 평균 듀레이션이 First 부터 Last 사이 RTP(Real-time Transport Protocol) 패킷의 평균 듀레이션이 되며, 금번 DSI 파라미터 계산에 참고할 구간에서 로스 된 총 길이는 [수학식 5]와 같이 된다.
평균 듀레이션 × 로스 패킷 수 = DSI를 통해 보고할 구간에서 로스 된 총 길이(단위는 ms)
즉, [수학식 5]에서 구해지는 '로스 듀레이션'(Loss Duration)은 누적된 값이 아닌 보고되는 구간 내에서의 '로스 듀레이션'이 된다.
[수학식 1] 내지 [수학식 5]와 같이, 평균 RTP 패킷의 듀레이션을 구해서 로스 패킷으로 인한 재생 가능 시간 손실분을 제하면 실제 단말이 큐 버퍼 내에 데이터를 재생할 수 있는 시간값을 알 수 있게 된다. 하지만, 전술한 시간값은 대략적인 시간 값으로서, 더욱 정확한 시간값을 산출하기 위해서는 RTP 로스 패킷으로 인한 시간 대신에 로스 프레임으로 인한 시간 손실 값을 구해야 한다. 즉, 사용자 단말기(110)가 VOD 스트리밍 데이터를 재생할 시 실제 프레임 단위로 재생하며, I 프레임의 경우에는 하나의 I 프레임 데이터가 몇 개의 RTP 패킷으로 저장되고, P 프레임의 경우 여러 장의 P 프레임이 하나의 RTP로 묶이는 경우도 있기 때문이다. 예를 들어서, 10fps의 컨텐츠 재생하는 경우 I 프레임 데이터를 가진 RTP 패킷은 몇 개가 동시에 100 ms 내에 재생되어 소모되며, P 프레임 데이터를 가진 RTP 패킷은 200 ms 이상이 지나야 재생되어 소모되는 경우가 생길 수 있기 때문이다.
따라서, [수학식 1]은 개략적인 Qu 값을 얻는 방법이며, 이 산식 대신에 더욱 정확한 Qu(410) 값을 얻는 방법은, 수신된 RTP 패킷의 Payload를 분석해서 각가의 RTP 패킷이 I 프레임 데이터 또는 P 프레임 데이터를 가졌는지의 여부를 확인하고, 확인 결과 P 프레임 데이터를 가진 경우 몇 개의 프레임이 있는지를 '참고할 듀레이션'구간에서 조사하여 실제 재생 가능한 프레임 수를 산출하고, 여기에 현재 재생중인 컨텐츠의 fps를 나누어주면 그 결과가 정확한 Qu 값이 될 수 있다. 하지만, 이러한 방법은 Payload를 분석하는 작업이 포함되고 분석 작업은 비디오 또는 오디오 코덱(Codec)의 종류마다 다를 수 있기 때문에 Qu(410) 값을 얻어내는 방법이 비디오 또는 오디오 코덱 종류에 따라 달라져서 복잡하게 될 수 있으므로, 실제 발명의 구현에 있어서, 전술한 두 가지 방법 중 목적에 따른 방법을 선택하여 사용할 수 있을 것이다.
QuSize(420)는 사용자 단말기(110)의 VOD 스트리밍 데이터를 재생하는 VOD 플레이어(112)가 확보한 큐 버퍼의 크기를 나타내는 값으로서 단위는 500 ms을 사용할 수 있다.
QuSize(420) 값은 VOD 서버(130)에서 전송할 컨텐츠의 피크 비트-레이트(Peack Bit-Rate) 정보만을 사용자 단말기(110)로 전송하는 경우, 사용자 단말기(110)에 탑재된 VOD 플레이어(112)가 임의 크기를 잡아서 QuSize(420)을 설정할 수 있다. 여기서, RTSP(Real-Time Streaming Protocol) 프로토콜에 의하면 AS라는 파라미터가 QuSize(420) 값은 [수학식 6a]가 될 수 있다.
QuSize = 임의의 Queue Buffer Size [단위: bit] / Peak Bit-Rate × 2 [단위: 500 ms]
또한, QuSize(420) 값은 VOD 서버(130)에서 에버리지 비트-레이트(Average Bit-Rate)와 사용자 단말기(100)가 확보해야 할 큐 버퍼 사이즈(Queue Buffer Size) 정보를 전송하는 경우에, 사용자 단말기(110)가 VOD 서버(130)가 요구한 큐 버퍼 사이즈만큼을 잡을 수 있는지의 여부를 확인하고, 확인 결과, 사용자 단말기(110)에서 VOD 서버(130)로부터 요청받은 큐 버퍼 사이즈만큼을 잡을 수 있는 경우, [수학식 6b]를 적용한다. 여기서, 에버리지 비트-레이트는 RTP(Real-Time transport Protocol) 에서 SDP(Session Description Protocol)를 통해 X-AB라는 파라미터로 알릴 수 있으며, X-AB 파라미터는 본 발명에서 임의로 정의한 파라미터이다. 또한, 큐 버퍼 사이즈 정보는 X-IBUFsize라는 파라미터를 통해 사용자 단말기(110)로 전송할 수 있으며, X-IBUFsize 파라미터는 본 발명에서 임으로 정의한 파라미터이다.
QuSize = Queue Buffer Size [단위: bit] / Average Bit-Rate × 2 [단위: 500 ms]
한편, 확인 결과, 사용자 단말기(110)가 메모리가 부족하여 VOD 서버(130)가 요구한 큐 버퍼 사이즈만큼을 잡을 수 없는 경우, 아래 [수학식 7]을 적용한다.
QuSize = 실제로 할당된 Buffer Size [단위: bit] / Average Bit-Rate × 2 [단위: 500 ms]
[수학식 6a], [수학식 6b] 또는 [수학식 7]을 통해 정해진 QuSize(420)의 값은 VOD 스트리밍 데이터의 재생 시작 시점에 한번 결정되며, 한번 결정된 값이 지속적으로 적용되는 것이다. 여기서, 종래 RTP 프로토콜 상의 AS 파라미터 또는 본 발명에 따른 X-IBUFsize, X-AB가 VOD 서버(130)로부터 사용자 단말기(110)로 전송되면 사용자 단말기(110)는 다시 QuSize(420)의 값을 계산하여 갱신한다.
Buf.Remain(430)은 사용자 단말기(110)의 현재 남아 있는 큐 버퍼의 저장공간의 값을 나타내며, 사용자 단말기(110)의 VOD 플레이어(112)가 큐 버퍼를 조사하여 그 값을 리턴한 값이다. 즉, Buf.Remain(430)는 Qu(410)의 값이 근사치를 제공하므로 생기는 오차로 인한 오동작을 방지하기 위하여 사용자 단말기(110)가 VOD 서버(130)로 전달하는 파라미터이다.
Seq.No(440)는 VOD 서버(130)에서 사용자 단말기(110)로 DSI 메시지를 전송할 때마다(즉, RTCP를 전송할 때마다) 1씩 증가되는 값이며, 255 다음에는 0이 되도록 한다. 즉, Seq.No(440)는 DSI 메시지가 손상되는 경우, 이를 서버에서 판단하여 대응하기 위한 값이다.
도 5는 본 발명의 제 1 실시예 및 제 2 실시예에 따른 VOD 스트리밍 서비스를 제공하는 방법을 설명하기 위한 순서도이다.
사용자 단말기(110)는 사용자의 조작에 의한 키 또는 명령을 입력받아 유무선 통신망(120)을 경유하여 VOD 서버(130)에 접속하며, VOD 서버(130)로 VOD서비스 요청 신호를 전송한다(S510).
VOD 서버(130)에서 사용자 단말기(110)로부터 VOD 서비스 요청 신호를 수신한 후 VOD 스트리밍 데이터를 사용자 단말기(110)로 전송한다(S520).
VOD 서버(130)는 X-RTCP 듀레이션 파라미터 메시지를 생성하여 사용자 단말기(110)로 전송한다(S530).
여기서, X-RTCP 듀레이션 파라미터 메시지의 단위는 100 msec을 사용될 수 있으며, VOD 서버(130)는 VOD 스트리밍 도중에 X-RTCP 듀레이션 파라미터 메시지를 수시로 변경할 수 있다.
사용자 단말기(110)는 유무선 통신망(120)을 경유하여 VOD 서버(130)로부터 VOD 스트리밍 데이터를 수신한 후 사용자 단말기(110)에 탑재된 VOD 플레이어(112)를 이용하여 VOD 스트리밍 데이터를 재생한다(S540).
사용자 단말기(110)는 VOD 서버(130)로부터 수신한 X-RTCP 듀레이션 파라미터 메시지에 따라 일정한 주기로 Qu(410), QuSize(420), Buf.Remain(430) 및 Seq.No(440) 파라미터를 포함한 DSI 메시지를 생성한다(S550).
사용자 단말기(110)는 X-RTCP 듀레이션 파라미터 메시지에 따라 일정한 주기로 DSI 메시지를 VOD 서버(130)로 전송한다(S560).
여기서, 사용자 단말기(110)는 DSI 메시지를 VOD 서버(130)로 전송하는 RTCP/RR 패킷 내의 익스텐션 필드(Extention Field)에 포함하여 전송할 수 있다. 물론, 이는 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 DSI 메시지를 VOD 서버(130)로 전송하는 방법을 다양 하게 수정 및 변형하여 적용 가능할 것이다.
VOD 서버(130)는 DSI 메시지를 분석하여 사용자 단말기(110)의 큐 버퍼 내의 재생 가능한 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간이 양호한 상태인지의 여부를 확인한다(S570).
단계 S570의 확인 결과, 사용자 단말기(110)의 큐 버퍼 내의 재생 가능한 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간이 양호한 상태가 아닌 경우, VOD 서버(130)는 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간에 따라 비트-레이트를 점차 하향으로 제어한다(S580).
여기서, VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호하지 않은 상태가 되는 대부분은 음영 지역 또는 주변에 사용자가 많은 경우 이용 가능한 네트워크의 대역폭이 충분하지 않은 경우이다.
따라서, VOD 서버(130)는 비트-레이트를 점차 하향으로 제어함으로써, 사용자 단말기(110)로 전송하는 VOD 스트리밍 데이터가 네트워크상의 낮은 대역폭에서도 VOD 스트리밍 데이터의 크기 및 대생 시간을 충분히 확보될 수 있도록 하는 것이다. 하지만 비트-레이트가 하향으로 제어되는 경우 VOD 스트리밍 데이터가 중단되지는 않으나 화질이 초기보다 떨어지게 된다.
한편, 단계 S570의 확인 결과, 사용자 단말기(110)의 큐 버퍼 내의 재생 가능한 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간이 양호한 상태인 경우, VOD 서버(130)는 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간에 따라 비트-레이트를 점차 상향으로 제어한다(S590).
즉, VOD 서버(130)는 비트-레이트를 점차 상향으로 제어함으로써, 사용자 단말기(110)로 전송하는 VOD 스트리밍 데이터의 화질을 높아지도록(즉, 원래의 수준으로 회복되도록) 하는 것이다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상 설명한 바와 같이, 본 발명은 유무선 통신망을 이용하여 사용자 단말기로 VOD(Video On Demand) 서비스를 제공하는 과정에서, VOD 서버에서 X-RTCP 듀레이션 파라미터 메시지(X-RTCP Duration Parameter Message)를 생성하여 사용자 단말기로 전송하면, 사용자 단말기는 X-RTCP 듀레이션 파라미터 메시지에 따른 일정한 주기로 DSI 메시지지(Decoding Status Information Message)를 생성한 후 X-RTCP 듀레이션 파라미터 메시지에 따른 일정한 주기로 DSI 메시지를 VOD 서버로 전송하며, VOD 서버에서 DSI 메시지를 분석하여 사용자 단말기의 큐 버퍼(Queue Buffer) 내의 재생 가능한 VOD 스트리밍 데이터의 크기(양) 또는 재생 시간에 따라 비트-레이트(Bit-Rate)를 하향 또는 상향으로 조절함으로써, 최적의 QoS를 제공할 수 있는 VOD 스트리밍 분야에 적용되어, VOD 스트리밍 서비스를 제공하는 과정에서 QoS를 향상하여 오디오 및 비디오 데이터를 최대한 끊기지 않게 출력할 수 있는 효과를 발생하는 매우 유용한 발명이다.
도 1은 본 발명의 제 1 실시예 및 제 2 실시예에 따른 VOD 스트리밍 서비스를 제공하는 시스템을 개략적으로 나타낸 블럭 구성도,
도 2는 본 발명의 제 1 실시예에 따른 VOD 서버를 개략적으로 나타낸 블럭 구성도,
도 3은 본 발명의 제 2 실시예에 따른 VOD 플레이어를 개략적으로 나타낸 블럭 구성도,
도 4는 본 발명의 제 1 실시예 및 제 2 실시예에 따른 DSI 메시지의 구조를 개략적으로 나타낸 블럭 구성도,
도 5는 본 발명의 제 1 실시예 및 제 2 실시예에 따른 VOD 스트리밍 서비스를 제공하는 방법을 설명하기 위한 순서도이다.
< 도면의 주요 부분에 대한 부호의 설명 >
110: 사용자 단말기 112: VOD 플레이어
120: 유무선 통신망 130: VOD 서버

Claims (14)

  1. 유무선 통신망을 이용하여 VOD 스트리밍 서비스를 제공하는 시스템에 있어서,
    상기 VOD 스트리밍 서비스에 해당하는 VOD 스트리밍 데이터(Video On Demand Streaming Data)를 수신하여 재생하는 사용자 단말기; 및
    상기 사용자 단말기로 상기 VOD 스트리밍 데이터를 전송하며, X-RTCP 듀레이션 파라미터 메시지(X-Real-Time transport Control Protocol Duration Parameter Message)를 생성하여 상기 사용자 단말기로 전송하며, 상기 사용자 단말기로부터 DSI 메시지(Decoding Status Information Message)를 수신하여 분석한 후 상기 사용자 단말기의 큐 버퍼(Queue Buffer) 내에 재생 가능한 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태인지의 여부를 확인하고, 확인 결과, 상기 큐 버퍼 내에 재생 가능한 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태가 아닌 경우, 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간에 따라 비트-레이트(Bit-Rate)를 점차 하향으로 제어하는 VOD 서버
    를 포함하되, 상기 사용자 단말기는 상기 VOD 서버로부터 수신한 상기 X-RTCP 듀레이션 파라미터 메시지에 따라 일정한 주기로 상기 DSI 메시지를 생성하여 상기 VOD 서버로 전송하며, 상기 VOD 서버는 상기 DSI 메시지에 포함된 상기 사용자 단말기의 큐 버퍼 내의 재생 가능한 상기 VOD 스트리밍 데이터의 총 소요 시간을 나타내는 값인 총 소요 시간(Qu) 정보, 상기 사용자 단말기의 큐 버퍼의 크기를 나타내는 값인 큐 버퍼 크기(QuSize) 정보, 상기 사용자 단말기의 큐 버퍼 내에 남아 있는 저장 공간의 크기를 나타내는 값인 저장 공간 크기(Buf.Remain) 정보 및 상기 DSI 메시지를 상기 VOD 서버로 전송할 때마다 1씩 증가되는 값으로서, 255까지 증가한 후 0으로 설정되는 값인 일련번호(Seq.No) 정보 중 적어도 하나 이상의 정보를 근거로 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태를 확인하는 것을 특징으로 하는 VOD 스트리밍 서비스를 제공하는 시스템.
  2. VOD 서버가 사용자 단말기로 VOD 스트리밍 서비스를 제공하는 방법에 있어서,
    (a) 상기 사용자 단말기로 상기 VOD 스트리밍 서비스에 해당하는 VOD 스트리밍 데이터를 전송하는 단계;
    (b) 상기 사용자 단말기로 X-RTCP 듀레이션 파라미터 메시지를 전송하는 단계;
    (c) 상기 사용자 단말기로부터 DSI 메시지를 수신하여 분석한 후 상기 사용자 단말기의 큐 버퍼(Queue Buffer) 내에 재생 가능한 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태인지의 여부를 확인하는 단계; 및
    (d) 상기 단계 (c)의 확인 결과, 상기 큐 버퍼 내에 재생 가능한 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태가 아닌 경우, 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간에 따라 비트-레이트를 점차 하향으로 제어하는 단계
    를 포함하되, 상기 VOD 서버는 상기 DSI 메시지에 포함된 상기 사용자 단말기의 큐 버퍼 내의 재생 가능한 상기 VOD 스트리밍 데이터의 총 소요 시간을 나타내는 값인 총 소요 시간(Qu) 정보, 상기 사용자 단말기의 큐 버퍼의 크기를 나타내는 값인 큐 버퍼 크기(QuSize) 정보, 상기 사용자 단말기의 큐 버퍼 내에 남아 있는 저장 공간의 크기를 나타내는 값인 저장 공간 크기(Buf.Remain) 정보 및 상기 DSI 메시지를 상기 VOD 서버로 전송할 때마다 1씩 증가되는 값으로서, 255까지 증가한 후 0으로 설정되는 값인 일련번호(Seq.No) 정보를 중 적어도 하나 이상의 정보를 근거로 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태를 확인하는 것을 특징으로 하는 VOD 스트리밍 서비스를 제공하는 방법.
  3. 서버 통신부 및 서버 저장부를 구비하며, 유무선 통신망을 경유하여 사용자 단말기와 연동하여 VOD 스트리밍 서비스를 제공하는 서버에 있어서,
    상기 사용자 단말기로 상기 VOD 스트리밍 서비스에 해당하는 VOD 스트리밍 데이터를 전송하도록 제어하며, X-RTCP 듀레이션 파라미터 메시지를 생성하여 상기 사용자 단말기로 전송하며, 상기 사용자 단말기로부터 DSI 메시지를 수신하여 분석한 후 상기 사용자 단말기의 큐 버퍼 내에 재생 가능한 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태인지의 여부를 확인하고, 확인 결과, 상기 큐 버퍼 내에 재생 가능한 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태가 아닌 경우, 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간에 따라 비트-레이트를 점차 하향으로 제어하는 서버 제어부
    를 포함하되, 상기 서버 제어부는 상기 DSI 메시지에 포함된 상기 사용자 단말기의 큐 버퍼 내의 재생 가능한 상기 VOD 스트리밍 데이터의 총 소요 시간을 나타내는 값인 총 소요 시간(Qu) 정보, 상기 사용자 단말기의 큐 버퍼의 크기를 나타내는 값인 큐 버퍼 크기(QuSize) 정보, 상기 사용자 단말기의 큐 버퍼 내에 남아 있는 저장 공간의 크기를 나타내는 값인 저장 공간 크기(Buf.Remain) 정보 및 상기 DSI 메시지를 상기 VOD 서버로 전송할 때마다 1씩 증가되는 값으로서, 255까지 증가한 후 0으로 설정되는 값인 일련번호(Seq.No) 정보 중 적어도 하나 이상의 정보를 근거로 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태를 확인하는 것을 특징으로 하는 VOD 스트리밍 서비스를 제공하는 서버.
  4. 제 3 항에 있어서,
    상기 DSI 메시지는,
    상기 사용자 단말기에서 전송하는 RTCP(Real-Time transport Control Protocol)/RR(Receiver Report) 패킷 내의 익스텐션 필드(Extention Field)에 포함되는 것을 특징으로 하는 VOD 스트리밍 서비스를 제공하는 서버.
  5. 제 4 항에 있어서,
    상기 서버 통신부는
    상기 사용자 단말기로부터 상기 X-RTCP 듀레이션 파라미터 메시지에 따른 일정한 주기 마다 상기 DSI 메시지를 수신하는 것을 특징으로 하는 VOD 스트리밍 서비스를 제공하는 서버.
  6. 제 5 항에 있어서,
    상기 서버 제어부는,
    상기 VOD 스트리밍 데이터를 상기 사용자 단말기로 전송하는 중에 상기 X-RTCP 듀레이션 파라미터 메시지를 변경하는 것을 특징으로 하는 VOD 스트리밍 서비스를 제공하는 서버.
  7. 삭제
  8. 제 3 항에 있어서,
    상기 서버 제어부는,
    상기 큐 버퍼 내에 재생 가능한 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간이 양호한 상태인 경우, 상기 VOD 스트리밍 데이터의 크기 또는 재생 시간에 따라 비트-레이트를 점차 상향으로 제어하는 것을 특징으로 하는 VOD 스트리밍 서비스를 제공하는 서버.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
KR1020070088135A 2007-08-31 2007-08-31 Vod 스트리밍 서비스를 제공하는 방법과 그를 위한시스템, 서버 및 사용자 단말기 KR100931344B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070088135A KR100931344B1 (ko) 2007-08-31 2007-08-31 Vod 스트리밍 서비스를 제공하는 방법과 그를 위한시스템, 서버 및 사용자 단말기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070088135A KR100931344B1 (ko) 2007-08-31 2007-08-31 Vod 스트리밍 서비스를 제공하는 방법과 그를 위한시스템, 서버 및 사용자 단말기

Publications (2)

Publication Number Publication Date
KR20090022615A KR20090022615A (ko) 2009-03-04
KR100931344B1 true KR100931344B1 (ko) 2009-12-11

Family

ID=40692466

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070088135A KR100931344B1 (ko) 2007-08-31 2007-08-31 Vod 스트리밍 서비스를 제공하는 방법과 그를 위한시스템, 서버 및 사용자 단말기

Country Status (1)

Country Link
KR (1) KR100931344B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104581229B (zh) * 2015-01-16 2018-08-03 京东方科技集团股份有限公司 一种流媒体数据传输装置、方法和***
KR101937247B1 (ko) 2016-12-28 2019-01-14 네이버 주식회사 실시간 라이브 환경에서 버퍼 기반 대역폭 측정 및 적응형 데이터 전송을 위한 방법 및 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050041597A (ko) * 2003-10-31 2005-05-04 주식회사 케이티프리텔 브이오디 서비스 시스템 및 그 서비스 방법
KR20060010352A (ko) * 2004-07-28 2006-02-02 에스케이 텔레콤주식회사 Vod 서버에서의 패킷 손실률에 따른 데이터 전송 레벨조절 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050041597A (ko) * 2003-10-31 2005-05-04 주식회사 케이티프리텔 브이오디 서비스 시스템 및 그 서비스 방법
KR20060010352A (ko) * 2004-07-28 2006-02-02 에스케이 텔레콤주식회사 Vod 서버에서의 패킷 손실률에 따른 데이터 전송 레벨조절 방법

Also Published As

Publication number Publication date
KR20090022615A (ko) 2009-03-04

Similar Documents

Publication Publication Date Title
KR101868280B1 (ko) 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
US6792449B2 (en) Startup methods and apparatuses for use in streaming content
KR101702562B1 (ko) 멀티미디어 스트림 파일의 저장 파일 포맷, 저장 방법 및 이를 이용한 클라이언트 장치
CN106686438B (zh) 一种跨设备的音频图像同步播放的方法、装置及***
KR100800716B1 (ko) 근거리 통신을 이용한 동영상 데이터 송수신 장치 및 그송수신 장치에서의 동영상 데이터 송수신 방법
US7627685B2 (en) System and method for controlling transport rate of real time streaming service
WO2013008867A1 (ja) 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
US9232243B2 (en) Audio and video streaming for media effects
US20080133744A1 (en) Multimedia data streaming server and method for dynamically changing amount of transmitting data in response to network bandwidth
TW200820777A (en) System and method of audio/video streaming
KR20060114080A (ko) 멀티미디어 스트리밍 서비스 시스템 및 방법
WO2008108379A1 (ja) メディア配信システム、配信サーバ装置及びそれらに用いるメディア配信方法並びにそのプログラム
JP5140952B2 (ja) コンテンツ配信システム、コンテンツ配信サーバ、コンテンツ再生端末、プログラム、コンテンツ配信方法
KR20110065100A (ko) 멀티미디어 스트리밍 서비스를 지원하는 방법 및 장치
EP1274248A1 (en) Data reproduction apparatus and data reproduction method
KR20090026068A (ko) 콘텐츠 재생장치, 콘텐츠 재생 방법, 프로그램, 및 콘텐츠 재생 시스템
JP2005086362A (ja) データ多重化方法、データ送信方法およびデータ受信方法
KR101164746B1 (ko) 실시간 스트리밍 프로토콜을 기반으로 한 동영상 재생 서비스에서 동영상 재생 지연 보상 시스템 및 방법
JP2009188735A (ja) 動画データ配信装置、動画データ配信システム、動画データ配信方法およびプログラム
KR100931344B1 (ko) Vod 스트리밍 서비스를 제공하는 방법과 그를 위한시스템, 서버 및 사용자 단말기
JP2005121693A (ja) ストリーミング配信システム及びストリーミング配信方法
JP3860957B2 (ja) マルチメディアデータの送出装置
KR20060035934A (ko) 스트리밍 서비스 제공 방법 및 그 장치
KR101328339B1 (ko) 스트리밍 멀티미디어 재생을 위한 버퍼 관리 장치 및 방법
KR100654550B1 (ko) 비트 레이트를 이용한 데이터의 전송 및 다운로드 방법 및이를 위한 웹 서버 및 이동통신단말기

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121203

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131202

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141126

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161130

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181203

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20191130

Year of fee payment: 11