KR20050005092A - 미디어 재전송 장치 및 방법 - Google Patents

미디어 재전송 장치 및 방법 Download PDF

Info

Publication number
KR20050005092A
KR20050005092A KR1020030044230A KR20030044230A KR20050005092A KR 20050005092 A KR20050005092 A KR 20050005092A KR 1020030044230 A KR1020030044230 A KR 1020030044230A KR 20030044230 A KR20030044230 A KR 20030044230A KR 20050005092 A KR20050005092 A KR 20050005092A
Authority
KR
South Korea
Prior art keywords
lost
stream packet
command
retransmission
stream
Prior art date
Application number
KR1020030044230A
Other languages
English (en)
Other versions
KR100624854B1 (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 KR1020030044230A priority Critical patent/KR100624854B1/ko
Publication of KR20050005092A publication Critical patent/KR20050005092A/ko
Application granted granted Critical
Publication of KR100624854B1 publication Critical patent/KR100624854B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6375Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • 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/2407Monitoring of transmitted content, e.g. distribution time, number of downloads

Abstract

재전송 기법을 통해 미디어 데이터의 정확성을 보장하고 질적으로 향상시킬 있는 미디어 재전송 장치 및 방법이 개시된다.
본 발명의 미디어 재전송 방법에 따르면, 서버로부터 수신되는 스트림 패킷들의 순열 번호를 지속적으로 확인하여, 소정의 스트림 패킷이 분실된 경우 이러한 분실된 스트림 패킷에 대한 현재의 재생 시간을 산출하고, 산출된 현재의 재생 시간을 반영한 재전송 요청을 통해 분실된 스트림 패킷부터 다시 재생을 할 수 있다.
이에 따라, 기존에 재전송 기법이 존재하지 않아 분실된 스트림 패킷들로 인해 영상 및 오디어의 질이 저하되는 것을 방지할 수 있을 뿐만 아니라 미디어 데이터의 정확성을 보장할 수 있는 효과가 있다.

Description

미디어 재전송 장치 및 방법{Media-retransmitting device and method}
본 발명은 미디어 재생 장치에 관한 것으로, 특히 분실된 스트림 패킷을 재전송 받아 재생할 수 있는 미디어 재전송 장치 및 방법에 관한 것이다.
최근 들어, 휴대폰과 같은 이동 단말기와 망 기술의 급격한 발전으로, VOD(Video On Demand) 서비스가 점차 급증하고 있다.
즉, EVDO(Evolution Data Only) 망을 이용한 VOD 서비스가 상용화되면서, 다양한 사용자들이 이러한 서비스에 가입하고 있다.
현재의 서비스는 휴대폰을 이용하여 사업자가 구축한 서버에 접속하여 영화나 뉴스 등의 컨텐츠를 볼 수 있다.
예를 들어, 영화 미디어인 경우에는 이미 서버에 저장된 영화 미디어를 스트림화시켜 볼 수 있고, 뉴스 미디어인 경우에는 실시간으로 볼 수 있다.
이와 같이 서버에 저장된 영화 미디어나 실시간으로 제공되는 뉴스 미디어 등은 RTP를 통해 전송되고, 클라이언트에서는 RTP(Real Time Protocol)를 해석하여 스트림을 만들게 된다.
이러한 스트림을 디코더가 해석하여 영상 또는/및 음성이 출력되게 된다.
도 1은 미디어 서비스를 제공하기 위한 일반적인 개념을 나타낸 도면이다.
도1에 나타낸 바와 같이, 서비스는 웹 브라우저를 통해 하나의 컨텐츠를 선택하는 과정으로부터 시작된다.
이러한 과정을 거친 후, 클라이언트는 HTTP를 이용하여 웹 서버에 접속하고,상기 웹 서버는 세션에 대한 정보를 나타내는 description을 제공한다(HTTP GET, session description).
클라이언트는 상기 description을 참조하여 서버에게 'SETUP'을 보냄으로써, 웹 서버는 미디어를 전송하기 위한 최소한의 준비를 마치게 된다.
다음으로, 클라이언트는 웹 서버로 재생(PLAY) 명령을 보내고, 웹 서버는 RTP 채널을 통해 해당 미디어를 전송한다(RTP audio, RTP video).
만일 재생 중인 미디어를 중지시키고자 하는 경우, 클라이언트는 웹 서버로 중지(PAUSE) 명령을 보냄으로써, 서비스가 중단된다.
그리고, 하나의 미디어의 재생이 종료되게 되면, 클라이언트는 종료 명령(TEARDOWN)을 웹 서버로 보내고, 이러한 명령에 따라 웹 서버는 열려있는 채널을 폐쇄시킨다.
이와 같은 종래의 미디어 서비스에서는 스트림 패킷을 전송하는 경우에 RTP는 UDP(User Datagram Protocol)로부터 생성된 스트림 패킷을 클라이언트로 전송하게 된다.
그리고, 클라이언트에서는 이러한 스트림 패킷을 해석하여 재생하게 된다.
이때, 만일 서버로부터 전송된 스트림 패킷이 중간에서 분실되어 클라이언트로 수신되지 않는 경우, 종래의 서비스에서는 UDP를 사용하기 때문에 재전송을 요청할 수가 없었다.
이에 따라, 일반 사용자는 스트림 패킷이 분실된 상태로 재생되는 미디어를 보게 된다. 따라서, 분실된 스트림 패킷으로 인해 미디어의 재생이 제대로 이루어지지 않게 되고 미디어 영상 또는 오디어의 질이 저하되는 문제점이 있었다.
따라서, 본 발명은 상기 문제점을 해결하기 위해 안출한 것으로서, UDP 환경에서 전송되는 스트림 패킷이 분실되는 것을 방지하여 영상과 음성을 질적으로 향상시킬 수 있는 미디어 재전송 장치 및 방법을 제공함에 그 목적이 있다.
본 발명은 별도의 프로토콜을 사용하지 않고 분실된 스트림 패킷에 대한 재전송을 요청할 수 있는 미디어 재전송 장치 및 방법을 제공함에 다른 목적이 있다.
도 1은 미디어 서비스를 제공하기 위한 일반적인 개념을 나타낸 도면.
도 2는 본 발명의 바람직한 일 실시예에 따른 클라이언트의 구성을 개략적으로 나타낸 도면.
도 3은 본 발명의 바람직한 일 실시예에 따른 클라이언트에서 분실된 스트림 패킷을 재전송을 통해 복구하는 방법을 설명하기 위한 순서도.
도 4는 본 발명의 바람직한 일 실시예에 따른 스트림 패킷이 분실되는 경우를 개념적으로 나타낸 도면.
도 5는 본 발명의 바람직한 일 실시예에 따른 스트림 패킷의 분실에서 재전송 요청에 의한 복구까지의 과정을 개념적으로 나타낸 도면.
<도면의 주요 부분에 대한 부호의 명칭>
10 : 클라이언트 12 : RTP 처리부
13 : 순열 번호 확인부 14 : NPT 산출부
15 : RTSP 반응 프로세서 19 : RTSP 처리부
상기 목적을 달성하기 위한 본 발명의 바람직한 일 실시예에 따르면, 미디어 재전송 장치는, 서버로부터 수신되는 스트림 패킷들 중 소정의 스트림 패킷이 분실되는 경우, 상기 분실된 스트림 패킷에 대한 재전송 명령을 생성하기 위한 수단; 상기 생성 수단으로부터 생성된 재전송 명령을 상기 서버로 전송하기 위한 수단; 및 상기 전송된 재전송 명령에 응답하여 상기 서버로부터 수신되는 상기 분실된 스트림 패킷을 복호화하여 출력하기 위한 수단을 포함한다.
상기 생성 수단은, 상기 서버로부터 수신되는 스트림 패킷들을 대상으로 분실 여부를 판단하기 위한 수단; 판단 결과 소정 스트림 패킷이 분실된 경우, 상기 분실된 스트림 패킷을 대상으로 현재의 재생 시간을 산출하기 위한 수단; 및 상기 산출된 현재의 재생 시간을 반영한 재전송 명령을 생성하기 위한 수단을 포함할 수있다.
여기서, 상기 현재의 재생 시간은 상기 분실된 스트림 패킷으로부터 파악된 타임스탬프로부터 산출될 수 있다.
본 발명의 바람직한 다른 실시예에 따르면, 미디어 재전송 방법은, 서버로부터 수신되는 스트림 패킷들 중 소정의 스트림 패킷이 분실되는 경우, 상기 분실된 스트림 패킷에 대한 재전송 명령을 생성하는 단계; 상기 재전송 명령을 상기 서버로 전송하여 상기 재전송 명령에 상응하는 상기 분실된 스트림 패킷을 수신하는 단계; 및 상기 분실된 스트림 패킷을 복호화하여 출력하는 단계를 포함한다.
상기 재전송 명령을 생성하는 단계는, 상기 서버로부터 수신되는 스트림 패킷들을 대상으로 분실 여부를 판단하는 단계; 판단 결과 소정 스트림 패킷이 분실된 경우, 상기 분실된 스트림 패킷을 대상으로 현재의 재생 시간을 산출하는 단계; 및 상기 산출된 현재의 재생 시간을 반영한 재전송 명령을 생성하는 단계를 포함할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 미디어 재전송 장치 및 방법을 설명한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 클라이언트의 구성을 개략적으로 나타낸 도면이다.
도 2를 참조하면, 미디어가 재생이 되게 되면, 서버에 의해 사용자가 요청한 미디어가 스트림 패킷들로 분리되어 클라이언트(10)로 전송된다.
상기 클라이언트(10)는 상기 서버로부터 전송되는 스트림 패킷들을 임시 저장하는 네트워크 프로토콜 스택(Network Protocol Stack)(11)과, 상기 네트워크 프로토콜 스택(11)에 임시 저장된 스트림 패킷들을 하나씩 불러들여, 이러한 스트림 패킷들을 대상으로 분실 여부를 판단하는 순열 번호 확인부(13)와, 상기 순열 번호 확인부(13)로부터 분실된 스트림 패킷이 존재하는 것으로 판단되는 경우, 해당 스트림 패킷으로부터 현재의 재생 시간(NPT: Normal Play Time)을 산출하는 NPT 산출부(14)와, 상기 NPT 산출부(14)로부터 산출된 현재의 재생 시간을 반영하는 재전송 명령을 생성하는 RTSP 반응 프로세서(15)와, 상기 RTSP 반응 프로세서(15)로부터 생성된 재전송 명령을 서버로 전송하도록 처리하는 RTSP(Real-Time Streaming Protocol) 처리부(19)와, 상기 순열 번호 확인부(13)로부터 분실된 스트림 패킷이 존재하지 않는 것으로 판단되는 경우, 해당 스트림 패킷을 버퍼링하는 버퍼(16)와, 상기 버퍼(16)에 버퍼링된 스트림 패킷을 복호화하여 재생하는 A/V 복호부(18)와, 상기 버퍼(16)에 버퍼링된 스트림 패킷을 상기 A/V 복호부(18)로 전달하도록 제어하는 복호 제어부(17)로 구성된다.
여기서, 상기 순열 번호 확인부(13), NPT 산출부(14), RTSP 반응 프로세서(15) 및 버퍼(16)는 RTP 처리부(12)에 포함된다.
상기 순열 번호 확인부(13)는 상기 스트림 패킷에 포함되는 순열 번호(sequence number)를 이용하여 분실 여부를 판단한다.
예를 들어, 제1, 제2 및 제3의 스트림 패킷의 순열 번호가 각각 35, 36 및 37이라고 할 때, 상기 순열 번호 확인부(13)에 의해 상기 제1 및 제3 스트림 패킷의 순열 번호 35 및 37이 확인되는데 반해, 상기 제2 스트림 패킷의 순열 번호 36이 확인이 되지 않는 경우, 상기 제2 스트림 패킷은 분실된 것으로 판단될 수 있다.
상기 NPT 산출부(14)는 이와 같이 상기 순열 번호 확인부(13)에 의해 분실로 판단된 스트림 패킷이 존재하는 경우, 상기 분실된 스트림 패킷에 대상으로 NPT를 산출한다.
이를 더욱 상세히 설명하면, 상기 NPT 산출부(14)는 먼저 분실된 스트림 패킷으로부터 타임스탬프(timestamp)를 파악한다. 여기서, 타임스탬프는 한 프레임 당 몇 클럭이 소요되었는지에 대한 값으로서, 고정 증가치이다. 이를 식으로 표현하면, 다음의 식 1과 같다.
[식 1]
Timestamp=clock rate/frame per second
일반적으로, 타임스탬프는 100, 200, 300 등으로 일정값씩 증가된다.
이러한 타임스탬프로부터 현재의 재생시간(NPT)이 산출되는데, 이와 관련된 식은 다음의 식2로 표현된다.
[식 2]
NPT=Timestamp*(1/clock rate)
예를 들어, 타임스탬프의 값이 100, 200, 300으로 증가되는데, 2번째 스트림 패킷이 분실되었다면, 2번째 스트림 패킷의 타임스탬프는 200으로 파악될 수 있고, 이러한 타임스탬프 값을 식 2에 대입함으로써, 현재의 재생 시간 값이 산출되게 된다.
한편, 상기 RTSP 반응 프로세서(15)는 NPT 산출부(14)에서 산출된 NPT를 반영한 재전송 명령을 상기 RTSP 처리부(19)를 통해 상기 서버로 요청하도록 한다.
이때, 상기 재전송 명령은 중지(PAUSE) 명령과 재생(PLAY) 명령을 포함한다. 이러한 경우에, 상기 현재의 재생 시간 값은 상기 재생 명령에 반영되게 된다.
이러한 중지 명령과 재생 명령은 상기 RTSP 처리부(19)를 통해 순차적으로 상기 서버로 전송된다.
여기서, 재전송 명령을 중지 명령과 재생 명령으로 구분하여 이러한 2개의 명령을 순차적으로 전송하는 것은, 클라이언트의 스테이트(state) 및 서버의 스테이트를 안정화시키기 위한 것이다.
일반적으로, 클라이언트와 서버는 스테이트 머신(state machine)으로 만들어지는데, 특히 스테이트 머신인 경우 하나의 스테이트가 불안정한 상태에서 다음 스테이트로 넘어가는 것에는 많은 한계가 발생한다.
특히, 미디어 전송이 이루어지고 있는 재생(PLAY) 스테이트의 경우가 더 심하게 된다. 따라서, 이러한 재생 스테이트에서 다시 재생(PLAY) 명령을 서버로 보내게 되는 경우, 클라이언트나 서버에 많은 무리가 발생할 가능성이 높게 된다.
그러므로, 본 발명에서와 같이, 먼저 중지(PAUSE) 명령을 전송하여 잠시 재생을 중지한 다음에 스테이트가 안정화되면, 이어서 재생(PLAY) 명령을 전송함으로써 클라이언트와 서버를 보다 안정화시킬 수 있게 된다.
따라서, RTSP 처리부(19)는 먼저 중지 명령을 서버로 전송한 다음에, 이어서현재의 재생 시간이 반영된 재생 명령을 서버로 전송하게 된다.
서버에서는 이러한 현재의 재생 시간이 반영된 재생 명령에 따라 그에 상응하는 분실된 스트림 패킷을 찾아 분실된 스트림 패킷과 그 다음 스트림 패킷들을 순차적으로 다시 클라이언트(10)로 재 전송하게 된다.
그리고, 재 전송된 스트림 패킷들은 상기 버퍼(16)에서 버퍼링된 다음, A/V 복호부(18)에 의해 복호화된 다음 출력되게 된다.
본 발명에서는 스트림 패킷이 분실되면, 분실된 스트림 패킷에 대한 재전송을 요청하는 대신에, 상기 분실된 스트림 패킷 다음에 재 전송되는 스트림 패킷들은 버퍼링되지 않고 버려지게 된다.
도 3은 본 발명의 바람직한 일 실시예에 따른 클라이언트에서 분실된 스트림 패킷을 재전송을 통해 복구하는 방법을 설명하기 위한 순서도이다.
도 3을 참조하면, 영화나 뉴스 같은 미디어를 재생하기 위해서는 먼저 서버로부터 해당 미디어에 대한 스트림 패킷들을 수신한다(S21). 즉, 클라이언트(10)는 재생(PLAY) 명령을 서버로 요청하면, 상기 서버에서는 이러한 재생 명령에 따라 해당 미디어를 패킷 스트림으로 분할하여 순차적으로 상기 클라이언트(10)로 전송한다.
상기 클라이언트(10)로 수신되는 스트림 패킷들은 네트워크 프로토콜 스택(11)에 임시 저장되었다가, RTP 처리부(12)에서 처리된다.
즉, 상기 RTP 처리부(12)의 순열 번호 확인부(13)는 상기 입력되는 스트림 패킷들을 대상으로 분실된 스트림 패킷이 존재하는지를 판단한다(S22). 다시 말해,순열 번호 확인부(13)는 각 스트림 패킷의 헤더 부분에 포함되어 있는 순열 번호(sequence number)를 이용하여 이러한 순열 번호가 차례로 확인되는지를 판단한다.
예를 들어, 도 4에 나타낸 바와 같이, 58, 59, 60의 순열 번호 중에 59의 순열 번호가 확인되지 않는다면, 59의 순열 번호를 포함하고 있는 스트림 패킷이 상기 서버로부터 상기 클라이언트(10)로 전송되는 도중 또는 상기 서버 자체에 의해 분실된 것을 의미한다. 물론, 분실의 여부는 앞에서 설명한 바와 같이 순열 번호가 차례로 확인되는 것으로 판단하지만, 또한 순열 번호의 순서가 변경되는 것에 대한 확인으로도 판단할 수도 있다.
이때, 상기 스트림 패킷이 분실되었는지의 여부는 분실된 스트림 패킷의 다음 스트림 패킷이 입력되어야만 알 수 있다. 즉, 순차적으로 확인되는 순열 번호 중에서 어느 하나의 순열 번호가 존재하지 않는 것은 그 어느 하나의 순열 번호 다음의 순열 번호를 확인하고 나서야 알 수 있는 것이다.
만일 상기 순열 번호 확인부(13)에 의해 스트림 패킷들 중에 소정의 스트림 패킷이 분실되었다면, 분실된 스트림 패킷 다음에 입력되는 스트림 패킷들은 더 이상 버퍼링되지 않고 다음 과정으로 넘어간다.
이에 따라, 상기 NPT 산출부(14)는 상기 분실된 스트림 패킷의 예상되는 현재의 재생 시간(NPT)을 산출한다(S23).
즉, 상기 NPT 산출부(14)는 우선 상기 분실된 스트림 패킷의 타임스탬프를 파악하는데, 이러한 타임스탬프는 고정 증가치로서 각 스트림 패킷에 대해 정해져있다. 따라서, 상기 분실된 스트림 패킷의 전후 스트림 패킷의 타임스탬프를 참조하여 간단히 상기 분실된 스트림 패킷의 타임스탬프가 파악될 수 있다. 상기 NPT 산출부(14)는 이렇게 파악된 타임스탬프를 참조하여 상기 식 2를 이용하여 현재의 재생 시간을 산출하게 된다.
그러면, RTSP 반응 프로세서(15)는 이와 같이 산출된 현재의 재생 시간을 반영하는 재전송 명령을 RTSP 처리부(19)로 제공한다. 그리고, 상기 RTSP 처리부(19)는 재전송 명령에 따라 상기 서버로 상기 분실된 스트림 패킷에 대한 재전송을 요청한다(S24).
이때, 상기 재전송 명령은 중지 명령과 재생 명령이 포함될 수 있고, 전송 순서는 중지 명령의 전송에 이어서 재생 명령이 전송되게 된다. 이러한 경우에 상기 산출된 현재의 재생 시간은 재생 명령에 반영되게 된다.
이에 따라, 상기 서버는 클라이언트(10)의 재전송 요청에 따라 재생 명령에 반영된 현재의 재생 시간을 참조하여 해당 분실된 스트림 패킷을 상기 클라이언트(10)로 재 전송한다.
그리고, 이러한 분실된 스트림 패킷은 클라이언트(10)에 의해 수신되어 정상적으로 처리된다. 즉, 분실된 스트림 패킷은 버퍼링된 다음 복호화되어 출력되게 된다. 이때, 상기 분실된 스트림 패킷의 다음 스트림 패킷들도 차례로 버퍼링 및 복호화 과정을 거쳐 출력되게 된다.
한편, S22에서 입력되는 스트림 패킷들의 각 순열 번호가 차례로 확인되어 어떠한 스트림 패킷도 분실되지 않은 것으로 판단되면, RTP 처리부(12)에서 처리된스트림 패킷들은 차례로 버퍼링 및 복호화 과정을 거쳐 출력되게 된다(S25, S26).
도 5는 본 발명의 바람직한 일 실시예에 따른 서버와 클라이언트 사이에서 스트림 패킷의 분실에서 재전송 요청에 의한 복구까지의 과정을 개념적으로 나타낸 도면이다.
도 5를 참조하면, 이미 설명한 바와 같이, 서버로부터 순열 번호 58, 59 및 60에 상응하는 스트림 패킷들이 클라이언트로 전송된다.
이때, 순열 번호 59에 상응하는 스트림 패킷이 분실되었는지의 여부는 순열 번호 확인부에 의해 판단되는데, 이때 순열 번호 59에 대한 스트림 패킷의 분실은 순열 번호 60에 대한 스트림 패킷이 확인되어야만 그 분실 여부를 알 수 있다.
즉, 순열 번호 확인부에 의해 순열 번호 58이 확인되고 이어서 순열 번호 60이 확인된다면, 순열 번호 59에 상응하는 스트림 패킷이 분실된 것으로 판단되게 된다.
이와 같이 분실된 스트림 패킷이 존재하면, 해당 분실된 스트림 패킷에 대한 현재의 재생 시간을 산출한 다음, 중지 명령(Pause Request)을 서버로 전송하여 스트림 패킷의 전송을 잠시 중단시켜 서버와 클라이언트의 스테이트를 안정적으로 유지한다(ACK).
그리고, 이어서 현재의 재생 시간을 반영한 재생 명령(Play Request)을 서버로 전송하여 해당 분실된 스트림 패킷을 요청하고 서버로부터 이에 대한 확인을 받는다(ACK).
이에 따라, 서버는 상기 재생 명령에 포함된 현재의 재생 시간을 참조하여해당 분실된 스트림 패킷(예컨대, 순열 번호 59에 상응하는 스트림 패킷)을 클라이언트로 재 전송한다.
이어서, 순열 번호 60에 상응하는 스트림 패킷도 클라이언트로 재 전송된다.
클라이언트에서는 상기 서버로부터 재 전송되는 스트림 패킷(순열 번호 59 이하)들을 복호화하여 화면 상에 출력시키게 된다.
따라서, 본 발명은 재전송 요청을 통해 분실된 스트림 패킷을 재생시킬 수 있고, 이를 위해 별도의 프로토콜을 사용하지 않아도 된다.
이상에서 살펴본 바와 같이, 본 발명의 미디어 재전송 장치 및 방법에 따르면, 서버로부터 수신되는 스트림 패킷들의 순열 번호를 지속적으로 확인하여, 소정의 스트림 패킷이 분실된 경우 이러한 분실된 스트림 패킷에 대한 현재의 재생 시간을 반영한 재전송 요청을 통해 분실된 스트림 패킷부터 다시 재생을 할 수 있다.
이에 따라, 기존에 재전송 기법이 존재하지 않아 분실된 스트림 패킷들로 인해 영상 및 오디어의 질이 저하되는 것을 방지할 수 있을 뿐만 아니라 미디어 데이터의 정확성을 보장할 수 있는 효과가 있다.
또한, 별도의 프로토콜을 사용함이 없이 간단히 RTP 처리부를 개량하여 RTSP 처리부와 연계하여 서버로 재전송 요청을 함으로써, 언제든지 분실된 스트림 패킷을 재생시킴으로써 시스템에 대한 성능 및 신뢰도를 향상시킬 수 있다.

Claims (18)

  1. 서버로부터 수신되는 스트림 패킷들 중 소정의 스트림 패킷이 분실되는 경우, 상기 분실된 스트림 패킷에 대한 재전송 명령을 생성하기 위한 수단;
    상기 생성 수단으로부터 생성된 재전송 명령을 상기 서버로 전송하기 위한 수단; 및
    상기 전송된 재전송 명령에 응답하여 상기 서버로부터 수신되는 상기 분실된 스트림 패킷을 복호화하여 출력하기 위한 수단
    을 포함하는 미디어 재전송 장치.
  2. 제1항에 있어서, 상기 생성 수단은,
    상기 서버로부터 수신되는 스트림 패킷들을 대상으로 분실 여부를 판단하기 위한 수단;
    판단 결과 소정 스트림 패킷이 분실된 경우, 상기 분실된 스트림 패킷을 대상으로 현재의 재생 시간을 산출하기 위한 수단; 및
    상기 산출된 현재의 재생 시간을 반영한 재전송 명령을 생성하기 위한 수단
    을 포함하는 미디어 재전송 장치.
  3. 제2항에 있어서, 상기 분실 여부는 상기 스트림 패킷들 각각에 포함된 순열 번호로부터 판단되는 것을 특징으로 하는 미디어 재전송 장치.
  4. 제2항에 있어서, 상기 판단 수단은, 상기 수신된 스트림 패킷의 순열 번호가 도착되지 않는 경우에 상기 수신된 스트림 패킷을 분실로 판단하는 것을 특징으로 하는 미디어 재전송 장치.
  5. 제2항에 있어서, 상기 판단 수단은, 상기 수신된 스트림 패킷의 순열 번호의 순서가 변경되는 경우에 상기 순서가 변경된 스트림 패킷을 분실로 판단하는 것을 특징으로 하는 미디어 재전송 장치.
  6. 제2항에 있어서, 상기 현재의 재생 시간은 상기 분실된 스트림 패킷으로부터 파악된 타임스탬프로부터 산출되는 것을 특징으로 하는 미디어 재전송 장치.
  7. 제1항 또는 제2항에 있어서, 상기 재전송 명령은 중지 명령 및 재생 명령을 포함하는 것을 특징으로 하는 미디어 재전송 장치.
  8. 제2항에 있어서, 상기 현재의 재생 시간은 상기 재생 명령에 반영되는 것을 특징으로 하는 미디어 재전송 장치.
  9. 제1항에 있어서, 상기 전송 수단은 상기 중지 명령을 전송한 후에 재생 명령을 전송하는 것을 특징으로 하는 미디어 재전송 장치.
  10. 서버로부터 수신되는 스트림 패킷들 중 소정의 스트림 패킷이 분실되는 경우, 상기 분실된 스트림 패킷에 대한 재전송 명령을 생성하는 단계;
    상기 재전송 명령을 상기 서버로 전송하여 상기 재전송 명령에 상응하는 상기 분실된 스트림 패킷을 수신하는 단계; 및
    상기 분실된 스트림 패킷을 복호화하여 출력하는 단계
    를 포함하는 미디어 재전송 방법.
  11. 제10항에 있어서, 상기 재전송 명령을 생성하는 단계는,
    상기 서버로부터 수신되는 스트림 패킷들을 대상으로 분실 여부를 판단하는 단계;
    판단 결과 소정 스트림 패킷이 분실된 경우, 상기 분실된 스트림 패킷을 대상으로 현재의 재생 시간을 산출하는 단계; 및
    상기 산출된 현재의 재생 시간을 반영한 재전송 명령을 생성하는 단계
    를 포함하는 미디어 재전송 방법.
  12. 제11항에 있어서, 상기 분실 여부는 상기 스트림 패킷들 각각에 포함된 순열 번호로부터 판단되는 것을 특징으로 하는 미디어 재전송 방법.
  13. 제11항에 있어서, 상기 수신된 스트림 패킷의 순열 번호가 도착되지 않는 경우에 상기 수신된 스트림 패킷을 분실로 판단하는 것을 특징으로 하는 미디어 재전송 방법.
  14. 제11항에 있어서, 상기 수신된 스트림 패킷의 순열 번호의 순서가 변경되는 경우에 상기 순서가 변경된 스트림 패킷을 분실로 판단하는 것을 특징으로 하는 미디어 재전송 방법.
  15. 제11항에 있어서, 상기 현재의 재생 시간은 상기 분실된 스트림 패킷으로부터 파악된 타임스탬프로부터 산출되는 것을 특징으로 하는 미디어 재전송 방법.
  16. 제10항 또는 제11항에 있어서, 상기 재전송 명령은 중지 명령 및 재생 명령을 포함하는 것을 특징으로 하는 미디어 재전송 방법.
  17. 제11항에 있어서, 상기 현재의 재생 시간은 상기 재생 명령에 반영되는 것을 특징으로 하는 미디어 재전송 방법.
  18. 제10항에 있어서, 상기 서버로의 전송은 상기 중지 명령 및 재생 명령의 순서로 이루어지는 것을 특징으로 하는 미디어 재전송 방법.
KR1020030044230A 2003-07-01 2003-07-01 미디어 재전송 장치 및 방법 KR100624854B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030044230A KR100624854B1 (ko) 2003-07-01 2003-07-01 미디어 재전송 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030044230A KR100624854B1 (ko) 2003-07-01 2003-07-01 미디어 재전송 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20050005092A true KR20050005092A (ko) 2005-01-13
KR100624854B1 KR100624854B1 (ko) 2006-09-18

Family

ID=37219522

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030044230A KR100624854B1 (ko) 2003-07-01 2003-07-01 미디어 재전송 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100624854B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006136090A1 (fr) * 2005-06-24 2006-12-28 Huawei Technologies Co., Ltd. Procede permettant d'empecher une attaque de repetition et procede permettant d'assurer la non repetition de numero de sequence de message
KR100853498B1 (ko) * 2007-01-09 2008-08-22 삼성전자주식회사 디지털 셋탑박스에서의 스트림 처리장치 및 그 방법
KR20190058078A (ko) * 2017-11-21 2019-05-29 주식회사 케이티 방송 스트림을 송출하는 방법, 재전송 서버 및 미디어 재생 장치
CN114257836A (zh) * 2021-12-17 2022-03-29 青岛海信宽带多媒体技术有限公司 一种机顶盒及丢包处理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006136090A1 (fr) * 2005-06-24 2006-12-28 Huawei Technologies Co., Ltd. Procede permettant d'empecher une attaque de repetition et procede permettant d'assurer la non repetition de numero de sequence de message
KR100853498B1 (ko) * 2007-01-09 2008-08-22 삼성전자주식회사 디지털 셋탑박스에서의 스트림 처리장치 및 그 방법
KR20190058078A (ko) * 2017-11-21 2019-05-29 주식회사 케이티 방송 스트림을 송출하는 방법, 재전송 서버 및 미디어 재생 장치
WO2019103362A1 (ko) * 2017-11-21 2019-05-31 주식회사 케이티 방송 스트림을 송출하는 방법, 재전송 서버 및 미디어 재생 장치
CN114257836A (zh) * 2021-12-17 2022-03-29 青岛海信宽带多媒体技术有限公司 一种机顶盒及丢包处理方法

Also Published As

Publication number Publication date
KR100624854B1 (ko) 2006-09-18

Similar Documents

Publication Publication Date Title
JP4414311B2 (ja) マルチメディアストリーミングサービスシステム及びその方法
KR100629158B1 (ko) 스트리밍된 데이터를 버퍼링하기 위한 방법 및 시스템
JP3757857B2 (ja) データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
US8214511B2 (en) RTSP-based progressive streaming method
CN106686438B (zh) 一种跨设备的音频图像同步播放的方法、装置及系统
EP3515083B1 (en) Method and apparatus for performing synchronization operation on contents
US20080263219A1 (en) Method and System to Minimize the Switching Delay Between Two Rtp Multimedia Streaming Sessions
WO2005112382A1 (en) Cooperation between packetized data bit-rate adaptation and data packet re-transmission
US9525874B2 (en) Transmitting apparatus and transmission method
US8806048B2 (en) Method and apparatus for transmitting and receiving streaming data based on real-time streaming protocol (RTSP) session
US20080133744A1 (en) Multimedia data streaming server and method for dynamically changing amount of transmitting data in response to network bandwidth
WO2008076537A1 (en) Method and system for providing adaptive trick play control of streaming digital video
JP2009512265A (ja) ネットワーク上の動画データ伝送制御システムとその方法
US20060200577A1 (en) Method for transmitting moving picture data to mobile terminal using pseudo-streaming technology
KR20230002784A (ko) 오디오 및/또는 비디오 콘텐츠 전송을 위한 방법 및 서버
JP2005051299A (ja) パケット送信装置、パケット受信装置、パケット送信方法及びパケット受信方法
WO2003069787A2 (en) System and method for fault tolerant multimedia communication
KR100624854B1 (ko) 미디어 재전송 장치 및 방법
JP2005348015A (ja) リアルタイム・ストリーミングデータ受信装置
KR100621313B1 (ko) 데이터 버퍼링 장치 및 방법
KR20100068780A (ko) 스트리밍 서비스에서 프리 디코더 버퍼의 오버플로우 방지 방법 및 장치

Legal Events

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

Payment date: 20090619

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee