이에, 본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명의 목적은 무선 데이터 통신 망에서 미디어 전송하는 동안 수신 측의 선택에 따라 전송되는 미디어 데이터를 제어할 수 있는 무선 데이터 통신 망에서의 RTSP 기반 동적 미디어 제어 방법을 제공하는 것이다.
상기 목적을 실현하기 위한 본 발명의 제 1 관점에 따른 무선 데이터 통신 망에서의 RTSP 기반 동적 미디어 제어 방법은 a) RTSP에 따라 클라이언트 단말에서 요청한 미디어 데이터를 상기 무선 데이터 통신 망을 통해 상기 RTSP 클라이언트 단말에 전송하는 단계; 및 b) 단계 a)에 의해 상기 클라이언트 단말에 상기 미디어 데이터가 전송되는 동안, 상기 클라이언트 단말로부터 상기 미디어 데이터를 제어하기 위한 명령이 발생되는 경우, 상기 명령에 따라 상기 미디어 데이터를 재구성하고, 상기 재구성된 미디어 데이터를 상기 클라이언트 단말에 전송하는 단계를 포함한다. 바람직하게는, 상기 명령은 SET_PARAMETER 메시지를 통해 제공되며, 상기 미디어 데이터의 전송 중단 요청 또는 재전송 요청을 포함한다. 보다 바람직하게는, 상기 미디어 데이터는 비디오 파일, 오디오 파일 및 텍스트 파일 중 적어도 하나 이상을 포함하며, 상기 명령은 상기 비디오 파일, 오디오 파일 및 텍스트 파일 각각에 대한 전송 중단 요청 또는 재전송 요청을 포함한다.
본 발명의 제 2 관점에 따른 무선 데이터 통신 망에서의 RTSP 기반 동적 미디어 제어 방법은 a) 클라이언트 단말로부터의 미디어 데이터 요청을 수신하는 단계; b) 상기 클라이언트 단말부터의 요청을 수신하는 경우, 상기 요청된 미디어 데이터를 상기 클라이언트 단말에 전송하는 단계; 및 c) 단계 b)에 의해 상기 미디어 데이터를 상기 클라이언트 단말에 전송하는 동안, 상기 클라이언트 단말부터의 상기 미디어 데이터 제어를 위한 명령이 수신되는 경우, 상기 명령에 따라 상기 미디어 데이터를 제어하는 단계를 포함하며, 상기 명령은 SET_PARAMETER 메시지를 통해 제공되며, 상기 미디어 데이터는 비디오 파일, 오디오 파일 및 텍스트 파일 중 적어도 하나 이상을 포함하며, 상기 명령은 상기 비디오 파일, 오디오 파일 및 텍스트 파일 각각에 대한 전송 중단 요청 또는 재전송 요청을 포함하는 특징으로 한다. 바람직하게는, 상기 클라이언트 단말은 상기 명령을 전송하고 소정 시간이 동안 상 기 명령에 대한 응답이 없는 경우, 상기 명령을 재전송하며, 상기 재전송이 소정 회수 반복되는 경우, 상기 명령의 전송을 무시하고 동작한다.
본 발명에 의하면, 멀티미디어 서비스 시 사용자가 선택한 데이터 만이 사용자에게 전송되게 할 수 있어, 불필요한 데이터 전송에 의한 사용자의 패킷 서비스 과금 부담을 줄일 수 있다.
이하, 본 발명의 실시 예를 통해 본 발명을 보다 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 무선 데이터 통신 망에서의 RTSP 기반 동적 미디어 제어 방법을 설명하기 위한 신호 흐름도이다.
도 2는 도 1에서의 SET_PARAMETER 메시지의 재전송 과정을 설명하기 위한 흐름도이다.
본 실시예에서는 RTSP(Real Time Streaming Protocol)에 따라 스트리밍 세션(Streaming Session)이 관리되고, 각각의 스트리밍 데이터(streaming data)는 RTP에 따라 전송되는 환경을 가정한다.
도 1을 참조하면, 본 발명에 따른 방법이 적용되는 RTSP 서버(200; 이하, 서버라 함)는 클라이언트 단말(100; 이하, 단말이라 함)로부터의 미디어 데이터 요청을 수신하는 경우, 상기 요청된 미디어 데이터를 상기 단말(100)에 전송한다. 상기 미디어 데이터를 상기 단말(100)에 전송하는 동안, 상기 단말(100)로부터의 상기 미디어 데이터 제어를 위한 명령이 수신되는 경우, 상기 명령에 따라 상기 미디어 데이터를 제어한다. 상기 명령은 RTSP의 SET_PARAMETER 메시지를 통해 단말(100)에 서 발생되어 상기 서버(200)로 제공된다. 상기 미디어 데이터는 컨텐츠에 따라 하나 이상의 미디어들로 구성될 수 있다. 예컨대, 상기 미디어 데이터는 비디오 파일, 오디오 파일 및 텍스트 파일 중 적어도 하나 이상을 포함한다. 또한, 상기 명령은 상기 비디오 파일, 오디오 파일 및 텍스트 파일 각각에 대한 전송 중단 또는 재전송을 포함한다.
상기 단말(100)은 컨텐츠를 수신하기 위해, RTSP 방법에 따라 상기 컨텐츠를 구성하는 미디어들 각각에 대한 세션을 확립하고, 상기 컨텐츠를 구성하는 각 미디어를 상기 서버(200)에 요청하면, 상기 서버(200)는 상기 요청에 따라 상기 컨텐츠의 미디어 데이터를 상기 단말(100)에 스트림한다.
상기 단말(100)은 상기 컨텐츠의 미디어 데이터를 제어하기 위해 SET_PARAMETER 메시지를 서버(200)에 제공한다. 바람직하게는, 상기 단말(100)은 사용자의 선택에 따라 SET_PARAMETER 메시지를 생성할 수 있도록 프로그램된다. 상기 단말의 프로그램 방식에 의해 본 발명이 제한되지 않는다라는 것을 당업자라면 이해할 것이다.
본 발명에 따른 상기 SET_PARAMTER 정의의 일 예를 아래의 표 1에 나타내었다.
표 1
순서 |
필드명(Field Name) |
값의 범위(Value Range) |
비고 |
1 |
AppClass |
DMC |
관련 서비스 분류 |
2 |
OpCode |
Stop: 특정 미디어에 해당하는 RTP 연결으로의 데이터 전송 중단 요청. Start: 특정 미디어에 해당되는 RTP 연결으로의 데이터 전송 재개 요청 |
|
3 |
TrackID |
SETUP에서 정의된 트랙 ID |
|
4 |
URL |
Rtsp URL |
Rtsp URL |
표 1의 파라미터 정의에 따라 단말기(100)에서 발생과 이에 대한 서버(200)의 응답의 일 예가 아래의 표 2에 나타내었다.
표 2
C→S: |
SET_PARAMETER rtsp://example.com/fizzle/foo RTSP/1.0 |
|
CSeq:421 |
|
Content-length:73 |
|
Content-type: text/parameters |
|
|
|
AppClass:DMC |
|
OpCode: Stop |
|
TrackID: 1 |
|
URL:"rtsp://www.nate.com/video/trackID=1" |
|
|
S→C: |
RTSP/1.0 200 OK |
|
CSeq:421 |
|
Content-Length:32 |
|
Content-Type: text/parameters |
|
|
|
AppClass:DMC |
|
OpCode:Stop |
|
TrackID: 1 |
표 2에 나타낸 SET_PARAMTER 메시지는 서버(200)에 트랙 1의 데이터 전송을 중단할 것을 요구하고 있으며, 상기 서버(200)는 상기 SET_PARAMTER 메시지에 따라 트랙 1의 데이터를 제외한 미디어 데이터를 상기 단말(100)에 스트림한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 무선 데이터 통신 망에서의 RTSP 기반 미디어 제어 방법을 보다 상세히 설명한다.
도 1을 참조하면, 상기 단말(100)은 TCP 세션에서 DESCRIBE 메시지를 원하는 컨텐츠의 속성(description)을 요청한다. 그러면, 상기 DESCRIBE 메시지에 대한 응답하여, 상기 서버(200)는 상기 컨텐츠를 구성하는 각 미디어의 모든 속성을 상기 단말(200)에 제공한다(S1 내지 S3).
상기 서버(200)으로부터의 DESCRIBE 응답을 수신한 단말(100)은 상기 컨텐츠의 속성을 수신한 단말(100)은 사용자의 선택에 따라 원하는 미디어들 예컨대, 트랙 1의 비디오, 트랙 2의 오디오, 및 트랙 3의 텍스트을 요청하기 위해 각각의 SETUP 요청 메시지들을 상기 서버(200)에 전송한다. 그러면, 상기 SETUP 요청 메시지들 각각에 응답하여, 상기 서버(200)는 상기 요청된 미디어들의 배포시 사용될 트랜스포트 메커니즘(Transport Mechanisms)을 상기 단말(100)에 제공한다(S4 내지 S8).
상기 서버(200)의 SETUP 메시지 응답을 수신하게 되는 경우, 상기 단말(100)은 상기 SETUP에서 명시된 메커니즘을 통해 상기 미디어들을 전송할 것을 요구하는 PLAY 메시지를 상기 서버(200)에 전송한다. 그러면, 상기 서버(200)는 상기 PLAY 메시지에 응답하여 요청한 미디어 스트림을 상기 단말(100)에 제공한다(S10 내지 S12).
상기 요청한 미디어 스트림을 전송 중, 본 발명에 따라 상기 단말기(100)로부터 상기 미디어 스트림을 제어하기 위한 SET_PARAMETER 메시지가 발생될 수 있다. 예컨대, 상기 단말(100)의 미디어 재생중 주변 환경에 따라 사용자는 특정 미디어의 재생을 중단할 필요가 있을 것이다. 이 때, 사용자가 미디어 재생의 상태 변화(stop/start)을 지정 할 수 있도록 예컨대, 상기 단말(100)의 재생 화면 하단 에 팝업(pop-up) 메뉴(menu)를 두어 초기 설정시 정의된 미디어의 타입(type)을 인식하여 트랙 ID와 연결하여 이들의 정지/재전송(stop/start)을 선택 가능하게 재생기가 장착되는 것이 바람직하다. 또한, 단말 및 재생 상태에 따른 제어에 해당하는 경우 제어 메뉴가 디스어블(Disable) 될 수 있다. 예컨대, 만약 특정 미디어가 없는 컨텐츠인 경우 메뉴 항목에서 빠지거나 디스어블되게 하는 것이 바람직하다. 예를 들어, 특정 단말이 비디오, 오디오, 텍스트를 갖고 있다면, 초기 메뉴는 모두 on 상태에서 off 상태로의 변화를 선택할 수 있으므로, "비디오 off", "오디오 off" 및 "텍스트 Off" 항목이 나타내는 것이 바람직하다. 비디오 재생이 오프(off)된 상태에서는 "비디오 On", "오디오 off", 및 "텍스트 Off"와 같은 방식으로 나타내는 것이 바람직하다. 그러나, 본 발명이 상기 단말(100)에 장착되는 재생기에 의해 제한되지 않는 점에 주지해야 한다.
단계 S 13에서, 상기 표 2에 나타낸 바와 같이, 트랙 1 비디오의 전송을 중단할 것을 명령하는 SET_PARAMETER 메시지가 상기 단말(100)에 발생되는 경우, 상기 서버(200)는 SET_PARAMETER 메시지에 응답하여, 상기 명령에 따라, 상기 컨텐츠에서 비디오 트랙 1을 제외한 나머지 미디어들의 스트림을 상기 단말(100)에 제공한다(S13 및 S14).
이어, 재생 환경의 변경으로, 상기 사용자가 단말(100)의 메뉴를 비디오 재생으로 선택하게 되는 경우, 상기 단말(100)으로부터 재전송을 요구하는 명령에 대한 SET_PARAMETER 메시지가 발생된다. 그러면, 상기 서버(200)는 상기 명령에 따라 비디오 데이터를 포함하는 스트림을 상기 단말(100)에 전송한다(S14 및 S15).
한편, 상기 단말(100)로부터 전송된 SET_PARAMETER 메시지에 대한 상기 서버(200)로부터의 응답을 소정 시간 예컨대, 3초 동안 수신하지 못하는 경우, 상기 단말(100)은 도 2에 도시된 바와 같이, 소정 회수 예컨대, 3회까지 반복하여 보내며, 최종적으로 응답이 없으면 무시하고 동작한다(S21 내지 S 25). 만약, 이전 SET_PARAMETER 메시지에 대한 응답이 오지 않는 상황에서 다른 SET_PARAMETER가 단말(100)에서 서버(200)로 전송되면 타이머 및 카운트는 리셋된다(S26 및 S27).