KR100705432B1 - 미디어 스트리밍 - Google Patents

미디어 스트리밍 Download PDF

Info

Publication number
KR100705432B1
KR100705432B1 KR1020057006376A KR20057006376A KR100705432B1 KR 100705432 B1 KR100705432 B1 KR 100705432B1 KR 1020057006376 A KR1020057006376 A KR 1020057006376A KR 20057006376 A KR20057006376 A KR 20057006376A KR 100705432 B1 KR100705432 B1 KR 100705432B1
Authority
KR
South Korea
Prior art keywords
client device
streaming
media
mobile client
streaming server
Prior art date
Application number
KR1020057006376A
Other languages
English (en)
Other versions
KR20050065592A (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 노키아 코포레이션
Publication of KR20050065592A publication Critical patent/KR20050065592A/ko
Application granted granted Critical
Publication of KR100705432B1 publication Critical patent/KR100705432B1/ko

Links

Classifications

    • 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/1066Session management
    • H04L65/1083In-session procedures
    • 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/60Network streaming of media packets
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/02Buffering or recovering information during reselection ; Modification of the traffic flow during hand-off
    • H04W36/023Buffering or recovering information during reselection

Abstract

본 발명은 무선-인터페이스를 통해 스트리밍 서버(111)로부터 이동 클라이언트 장치(101)로 미디어를 스트리밍하기 위한 방법에 관한 것으로, 셀 재선택 이후에, 상기 방법은 상기 스트리밍 서버(111)에게 상기 이동 클라이언트 장치(101)가 상기 셀 재선택으로 인하여 수신할 수 없었던 스트리밍 미디어를 재송신하도록 요구하는 단계를 포함한다.

Description

미디어 스트리밍{Streaming media}
본 발명은 무선-인터페이스를 통해 스트리밍 서버로부터 이동 클라이언트 장치로 미디어를 스트리밍하는 것에 관한 것이다.
패킷 교환 스트리밍 서비스(PSS)는 현재 3GPP(3세대 파트너십 프로젝트)에 의해 이동 환경에 대해 표준화되고 있다. 미디어를 스트리밍할 수 있는 (비디오 및/또는 오디오를 스트리밍할 수 있는) 통신 시스템의 예가 도 1에 도시된다. 상기 시스템은 인터넷 프로토콜(IP)-네트워크(104)에 연결된 스트리밍 서버(111)를 포함한다. 상기 IP-네트워크(104)는 예를 들어 인터넷 또는 서비스 제공자 오퍼레이터의 인트라넷(상기 오퍼레이터의 도메인에 속한 인트라넷 네트워크)일 수 있다. 상기 IP-네트워크(104)는 Gi 인터페이스를 통해 이동 통신 네트워크의 핵심 네트워크(103)에 연결되어 있다. 상기 이동 통신 네트워크는 또한 상기 핵심 네트워크(103)에 연결된 무선 액세스 네트워크(RAN: Radio Access Network)(102)를 구비한다. 상기 무선 액세스 네트워크(102)는 이동 통신 장치들(101)에 무선-인터페이스를 통해 상기 이동 통신 네트워크에 대한 액세스를 제공한다. 상기 액세스는 회선 교환 수단(회선 교환 음성 또는 데이터 호) 또는 패킷 교환 수단 또는 양자에 의해 제공될 수 있다. 하기에, 일반 패킷 무선 서비스(GPRS: General Packet Radio Service)가 상기 무선-인터페이스를 통해 통신하는 패킷 교환 수단의 예로서 사용된다. GPRS에 관해, 일반적인 용어인 무선 액세스 네트워크(RAN)는 (송수신기) 기지국들(BS) 및 기지국 제어기들(BSC)을 포함하는 것으로 간주된다.
미디어 스트리밍에서, 일련의 '동화상들'(즉 비디오) 또는 사운드(즉, 오디오) 또는 사운드를 지닌 일련의 '동화상들'(즉 멀티미디어)이 압축된 형태로 상기 스트리밍 서버(111)로부터 이동 통신 장치(101)(이하 클라이언트 장치(101)라 함)로 송신된다. 전체 미디어 파일이 재생될 수 있기 전에 상기 클라이언트에 도착해야 하는 기술과는 대조적으로, 상기 스트리밍 기술은 연속적인 방식으로 상기 스트리밍 서버(111)로부터 상기 클라이언트 장치(101)로 미디어(비디오 및/또는 오디오)를 송신할 수 있게 하고 그것이 상기 클라이언트에 도착할 때 상기 미디어를 재생할 수있게 한다.
미디어가 도 1에 제시된 시스템과 같은 셀룰러 이동 통신 시스템들에서 스트리밍되는 경우, 상기 이동 환경에 특정한 새로운 문제들이 발생한다. 상기 문제들은 주로 이동 시스템들의 상이한 제한들에 기인한다. 이러한 하나의 문제는 도 2에 제시된 셀 재선택(즉 핸드오버)의 경우에 발생한다.
도 2에서, 상기 무선 액세스 네트워크(102)의 제1 기지국(BS1)은 제1 셀(201)의 구역을 서빙하고 반면에 상기 무선 액세스 네트워크(102)의 제2 기지국(BS2)은 제2 셀(202)의 구역을 서빙한다. 셀 재선택 이전에, 상기 클라이언트 장치(101)는 상기 제1 기지국(BS1)에 의해 서빙되는데, 즉 상기 클라이언트 장치(101)는 상기 제1 기지국(BS1)과의 능동 무선 링크를 지닌다. 상기 경우는 도 2의 좌측에 도시된다. 상기 셀 재선택 이후에, 상기 클라이언트 장치(101)는 상기 제2 기지국(BS2)에 의해 서빙된다. 점선으로 도시된, 상기 제1 기지국(BS1)과의 무선 링크가 중단된다. 상기 경우는 도 2의 우측에 도시된다.
상기 셀 재선택(CR: Cell Reselection)은 시간적으로 3개의 기간들로 나뉠 수 있다:
a) 프리-CR 기간
b) CR 기간
c) 포스트-CR 기간.
상기 프리-CR 기간동안, 상기 제1 셀에서의 수신된 신호 품질은 약해지고 상기 클라이언트 장치(101)는 셀 재선택 시그널링을 시작한다. 상기 클라이언트 장치(101)는 상기 기간동안 상기 제1 기지국(BS1)을 통해 스트리밍 미디어를 수신할 수 있다. 상기 CR 기간동안, 실제 셀 재선택이 수행된다. 상기 클라이언트 장치(101)는 상기 기간동안 스트리밍 미디어를 수신할 수 없다. 상기 포스트-CR 기간동안, 상기 클라이언트 장치(101)는 상기 제2 기지국(BS2)을 통해 스트리밍 미디어를 수신할 수 있다.
상기 셀 재선택은 서비스의 긴 중지를 야기할 수 있다. 예를 들어, GPRS가 무선 베어러로서 사용되는 경우 셀 재선택(CR 기간)은 30-40초를 차지할 수 있다. 이것은 진행중인 스트리밍 세션에 영향을 미칠 것이다. 예를 들어, 스트리밍 미디어를 운반하는 패킷들의 일부가 분실될 수 있거나 재생되는 미디어의 정지가 상기 클라이언트 장치(101)에서 발생할 수 있다. 상기 스트리밍 미디어가 비디오 스트림을 포함하는 경우, 상기 정지는 상기 스트리밍 미디어가 다시 수신되어 다시 재생될 수 있기 전에 클라이언트 장치 디스플레이상에 소정 시간동안 정지 이미지가 나타나고 지속될 것이라는 것을 의미한다. 상기 스트리밍 미디어가 오디오 스트림을 포함하는 경우, 상기 정지는 상기 CR 기간이 끝날 때까지 아무런 사운드도 다시 재생되지 않는다는 것을 의미한다(즉 무음).
따라서, 진행중인 스트리밍 세션에 대한 셀 재선택의 영향을 감소시키기 위한 적합한 수단을 발견할 필요가 존재한다.
도 1은 미디어를 스트리밍할 수 있는 통신 시스템을 도시한 것이다.
도 2는 도 1의 통신 시스템에서의 셀 재선택 경우를 도시한 것이다.
도 3은 클라이언트 장치 버퍼가 셀 재선택이 취하는 시간보다 더 짧은 경우의 클라이언트 장치 버퍼를 도시한 것이다.
도 4는 클라이언트 장치 버퍼가 셀 재선택이 취하는 시간보다 더 긴 경우의 클라이언트 장치 버퍼를 도시한 것이다.
도 5는 도 4 뒤에 있는 경우의 다른 도면을 도시한 것이다.
도 6은 본 발명의 바람직한 실시예에서의 바람직한 동작을 도시한 것이다.
도 7은 본 발명의 바람직한 실시예를 도시한 것이다.
도 8은 본 발명의 바람직한 실시예를 도시한 것이다.
도 9는 본 발명의 바람직한 실시예에 의한 클라이언트 장치를 도시한 것이다.
도 10은 본 발명의 바람직한 실시예에 의한 스트리밍 서버를 도시한 것이다.
도 11은 본 발명의 바람직한 실시예에 따라 메시지들을 송신하는 3가지 방법들을 도시한 것이다.
본 발명의 제1 태양에 의하면, 스트리밍 서버에게 이동 클라이언트 장치가 셀 재선택으로 인하여 수신할 수 없는 스트리밍 미디어를 송신하도록 요구하는 단계를 포함하는, 무선-인터페이스를 통해 스트리밍 서버로부터 이동 클라이언트 장치로 미디어를 스트리밍하기 위한 방법이 제공된다.
상기 스트리밍 서버에게 상기 스트리밍 미디어를 송신하도록 요구하는 요구는 상기 언급된 셀 재선택 이전 또는 이후에 상기 이동 클라이언트 장치로부터 상기 스트리밍 서버로 송신될 수 있다.
상기 언급된 요구는 상기 이동 클라이언트 장치가 (셀 재선택 기간동안) 상기 셀 재선택으로 인하여 수신할 수 없는(또는 수신할 수 없었던) 미디어만을 송신하도록 요구하는 것에 제한되지 않는다. 일 실시예에서, 상기 요구는 실제로 요구되는 것이, 수신되지 않은 미디어 콘텐트의 부분의 재송신 뿐만 아니라 상기 미디어 콘텐트의 어떤 나머지 부분을 송신하는 것이 되도록 해석될 수 있다.
상기 미디어라는 용어는 비디오 또는 오디오 또는 정지 화상과 같은 다른 미디어 또는 이들의 어떤 조합, 즉 멀티미디어를 의미하는 것으로 여겨진다.
바람직하기로는, 재송신 요구는 상기 셀 재선택에 응답하여 송신된다. 상기 재송신 요구는 바람직하기로는 이동 클라이언트 장치 애플리케이션과 스트리밍 서버 애플리케이션간에 송신된 애플리케이션 계층 요구이다.
바람직한 실시예에서, 상기 스트리밍 서버는 상기 스트리밍 미디어가 재생전에 임시로 저장되는, 버퍼와 같은, 임시 기억 장치의 충만도를 상기 클라이언트 장치에서 증가시키기 위하여 결정된 시간 기간동안 증가된 속도로 송신되도록 요구된다. 바람직하기로는, 이것은 상기 스트리밍 서버에게 고속 비트율 미디어 스트림을 송신하는 것에서 증가된 속도로 저속 비트율 미디어 스트림을 송신하는 것으로 전환하도록 요구함으로써 행해진다. 상기 고속 및 저속 비트율 스트림들은 바람직하기로는 다중-속도 코덱에 의해 제공된다.
본 발명의 제2 태양에 의하면, 무선-인터페이스를 통해 스트리밍 서버로부터 스트리밍 미디어를 수신하기 위한 이동 클라이언트 장치에 있어서, 상기 스트리밍 서버에게 상기 이동 클라이언트 장치가 셀 재선택으로 인하여 수신할 수 없는 스트리밍 미디어를 송신하도록 요구하기 위한 수단을 포함하는 이동 클라이언트 장치가 제공된다.
바람직하기로는, 상기 무선-인터페이스는 상기 이동 클라이언트 장치를 이동 통신 네트워크에 연결한다. 바람직하기로는 상기 이동 클라이언트 장치는 셀룰러 이동 전화를 포함한다.
본 발명의 제3 태양에 의하면, 무선-인터페이스를 통해 이동 클라이언트 장치로 스트리밍 미디어를 송신하기 위한 스트리밍 서버에 있어서, 상기 스트리밍 서버에게 상기 이동 클라이언트 장치가 셀 재선택으로 인하여 수신할 수 없는 스트리밍 미디어를 송신하도록 요구하는 요구를 수신하기 위한 수단; 및 상기 수신된 요구에 대해 동작하기 위한 수단을 포함하는 스트리밍 서버가 제공된다.
본 발명의 제4 태양에 의하면, 스트리밍 서버 및 이동 클라이언트 장치를 포함하며, 무선-인터페이스를 통해 상기 스트리밍 서버로부터 상기 이동 클라이언트 장치로 미디어를 스트리밍하기 위한 시스템에 있어서, 상기 시스템은, 상기 이동 클라이언트 장치에서, 상기 스트리밍 서버에게 상기 이동 클라이언트 장치가 셀 재선택으로 인하여 수신할 수 없는 스트리밍 미디어를 송신하도록 요구하기 위한 수단을 포함하고, 상기 시스템은 상기 스트리밍 서버에서, 상기 요구를 수신하기 위한 수단; 및 상기 수신된 요구에 대해 동작하기 위한 수단을 더 포함하는 시스템이 제공된다.
본 발명의 제5 태양에 의하면, 이동 클라이언트 장치에서 실행가능한 컴퓨터 프로그램에 있어서, 상기 이동 클라이언트 장치로 하여금, 상기 스트리밍 서버에게 상기 이동 클라이언트 장치가 셀 재선택으로 인하여 수신할 수 없는 스트리밍 미디어를 송신하도록 요구하게 하는 프로그램 코드를 포함하는 컴퓨터 프로그램이 제공된다.
본 발명의 제6 태양에 의하면, 스트리밍 서버에서 실행가능한 컴퓨터 프로그램에 있어서, 상기 스트리밍 서버로 하여금, 상기 스트리밍 서버에게 상기 이동 클라이언트 장치가 셀 재선택으로 인하여 수신할 수 없는 스트리밍 미디어를 송신하도록 요구하는 요구를 수신하게 하는 프로그램 코드; 및 상기 수신된 요구에 대해 동작하는 프로그램 코드를 포함하는 컴퓨터 프로그램이 제공된다.
종속항들은 본 발명의 바람직한 실시예들을 포함한다. 본 발명의 특정 태양에 관한 종속항들에 포함된 주제는 또한 본 발명의 다른 태양들에 적용가능하다.
이제 본 발명의 실시예들이 첨부한 도면들을 참조하여 예로서 설명될 것이다.
도 1에 도시된 시스템은 또한 본 발명의 바람직한 실시예들에서 사용될 수 있다(동일한 것이 도 2에 적용된다). 따라서, 상기 시스템은 IP-네트워크(104)에 연결된 스트리밍 서버(111)를 포함한다. 상기 IP-네트워크(104)는 예를 들어, 인터넷 또는 서비스 제공자 오퍼레이터의 인트라넷일 수 있다. 상기 IP-네트워크(104)는 Gi 인터페이스를 통해 이동 통신 네트워크의 핵심 네트워크(103)에 연결되어 있다. 상기 이동 통신 네트워크는 또한 상기 핵심 네트워크(103)에 연결된 무선 액세스 네트워크(RAN: Radio Access Network)(102)를 구비한다. 상기 무선 액세스 네트워크(102)는 이동 통신 장치들(101)에 무선-인터페이스를 통해 상기 이동 통신 네트워크에 대한 액세스를 제공한다. 상기 액세스는 회선 교환 수단(회선 교환 음성 또는 데이터 호) 또는 패킷 교환 수단 또는 양자에 의해 제공될 수 있다. 하기에서, 일반 패킷 무선 서비스(GPRS: General Packet Radio Service)가 상기 무선-인터페이스를 통해 통신하는 패킷 교환 수단의 예로서 사용된다.
본 발명의 바람직한 실시예들을 더 잘 이해하기 위하여, 하기의 예를 고려하자.
본 예에서, (다시 클라이언트 장치(101)로 지칭되는) 이동 통신 장치(101)는 상기 제1 기지국(BS1)에 의해 서빙되는 경우 상기 스트리밍 서버(111)와 스트리밍 세션을 설정했다. 본 예 및 하기 설명에서, 주로 비디오 스트리밍 세션이 고려된다. 하지만, 대응하는 고려 사항이 멀티미디어(예를 들어 오디오를 지닌 비디오) 스트리밍 세션 뿐만 아니라 오디오 스트리밍 세션에 적용된다.
실시간 스트리밍 프로토콜(RTSP: Real Time Streaming Protocol)이 상기 스트리밍 세션 설정에서 사용된다. 일단 상기 세션이 설정된 경우, 상기 스트리밍 자체는 실시간 전송 프로토콜(RTP: Real tiem Transport Protocol) 또는 다른 프로토콜에 따라 수행될 수 있다(즉 미디어 흐름이 송신될 수 있다). 하지만, 상기 설정된 세션의 변경을 행하는 것이 요망되는 경우, 이것은 다시 RTSP를 사용하여 행해질 것이다.
상기 설정된 스트리밍 세션의 처음에, 패킷들(또는 프레임들)로 전송된, 수신된 스트리밍 미디어(미디어 흐름)은 상기 클라이언트 장치의 버퍼(이하 클라이언트 장치 버퍼라 함)에서 버퍼링된다(즉 임시로 저장된다). 상기 클라이언트 장치 버퍼가 가득 찬 경우, 상기 버퍼가 다른 단에서 수신된 스트리밍 미디어로 연속적으로 채워지면서, 상기 스트리밍 미디어의 재생이 상기 버퍼의 일단에서 시작된다. 그러므로, 상기 버퍼는 상기 시스템의 정상 동작중 거의 가득 찬 채로 유지되어야 한다.
이제 상기 클라이언트 장치는 제1 셀(201)에서 제2 셀(202)로의 셀 재선택을 경험한다(도 2). 상기 무선 액세스 네트워크(RAN)(102)가 단지 하나의 구름 모양으로 도 2에 도시될지라도, 그것이 상이한 무선 액세스 네트워크들을 포함할 수 있다는 것은 주목되어야 한다. 그것은 GPRS(GPRS-전용) RAN, 3G(3세대) RAN 또는 이들의 조합을 포함할 수 있다. 그러므로 (상기 기지국(BS1)에 의해 서빙되는) 상기 제1 셀(201) 및 (상기 기지국(BS2)에 의해 서빙되는) 상기 제2 셀(202)은 예를 들어, 상기 GPRS RAN 또는 3G RAN의 셀들일 수 있다. 따라서, 상기 셀 재선택(핸드오버)은 예를 들어 GPRS RAN에 속한 기지국들간에, 3G RAN에 속한 기지국들간에 또는 GPRS RAN에 속한 기지국과 3G RAN에 속한 기지국간에 발생할 수 있다.
상기 클라이언트 장치(101)는 상기 CR 기간동안 스트리밍 미디어를 수신할 수 없다. 그러므로, 상기 CR 기간이 시작되는 경우 상기 클라이언트 장치 버퍼는 비우기 시작하는데 왜냐하면 상기 연속적인 채움이 중단되는 동안 상기 버퍼 내용이 추가로 재생되기 때문이다. 상기 클라이언트 장치 버퍼의 크기에 따라, 두개의 상이한 경우들이 식별될 수 있다:
i) 상기 클라이언트 장치 버퍼는 (시간적으로) 상기 셀 재선택이 취하는 시간보다 더 짧다. 즉 가득 찬 클라이언트 장치 버퍼를 비우는 시간은 상기 CR 기간보다 더 짧다.
ii) 상기 클라이언트 장치 버퍼는 (시간적으로) 상기 셀 재선택이 취하는 시간보다 더 길다. 즉 가득 찬 클라이언트 장치 버퍼를 비우는 시간은 상기 CR 기간보다 더 길다.
상기 제1 경우(도 3)에, 상기 버퍼는 상기 CR 기간동안 전부 비워지게 될 것이다. 상기 버퍼가 비워지게 되기 때문에, 상기 클라이언트 장치(101)는 더 이상 재생할 아무런 미디어도 갖고 있지 않다. 그러므로, 상기 클라이언트 장치(101)는 재버퍼링을 시작한다. 재버퍼링은 포스트-CR 기간동안 시작될 수 있다. 재버퍼링이 시작되도록 하기 위하여 상기 클라이언트 장치(101)는 RTSP 멈춤/재생(PAUSE/PLAY) 방법을 사용할 수 있다. 상기 방법에서, 상기 클라이언트 장치(101)는 우선 RTSP 멈춤(PAUSE) 메시지를 상기 스트리밍 서버(111)로 송신한다. 상기 멈춤 메시지는 상기 서버(111)가 상기 미디어 흐름의 송신을 멈추게 할 것이다. 후속적으로, 상기 클라이언트 장치(101)는 상기 스트리밍 서버(111)에게 전방으로 마지막 수신된 프레임으로부터 상기 스트리밍 미디어의 재송신을 시작하도록 요구하는 RTSP 재생(PLAY) 메시지를 송신한다. 재버퍼링은 상기 클라이언트가 다시 상기 스트리밍 미디어의 수신을 시작하는 경우 시작된다. 상기 클라이언트 장치 버퍼가 가득 찬 경우, 상기 스트리밍 미디어의 재생은 전방으로 마지막 수신된 프레임부터 다시 시작된다. 한편, 상기 마지막 수신된 프레임은 클라이언트 장치 디스플레이상에 정지 이미지로서 표시된다. 하지만, 정지 이미지를 표시하는 단점에도 불구하고, 아무런 패킷들도 실질적으로 분실되지 않는데 왜냐하면 상기 CR 기간동안 상기 클라이언트 장치에서 수신되지 않은 미디어 흐름은 상기 CR 기간 이후에 상기 서버(111)로부터 상기 클라이언트 장치(101)로 재송신되기 때문이다.
상기 제2 경우(도 4)에, 상기 버퍼의 전체 내용은 상기 CR 기간동안 재생되지 않았다. 그러므로, 상기 버퍼는 상기 CR 기간동안 단지 부분적으로 비워지게 된다. 즉 상기 CR 기간이 종료되는 경우 상기 버퍼에 여전히 스트리밍 미디어(DATA)가 존재한다. 상기 포스트-CR 기간동안(상기 CR 기간 이후에) 상기 CR 기간 이전에 상기 버퍼에 저장된 스트리밍 미디어(DATA*)의 재생은 다른 단이 상기 CR 기간 이후에 수신된 스트리밍 미디어(즉 DATA**)로 채워지는 동안 상기 버퍼의 일 단에서 더 계속된다. 아무 것도 행해지지 않는 경우, DATA*는 결국 종료될 것이고 재생은 데이터(DATA**)의 제1 프레임에서 계속된다. 하지만, DATA**의 제1 프레임은 DATA*의 마지막 프레임 직후 재생되어야 하는 프레임이 아니다. 상기 클라이언트 장치(101)는 상기 CR 기간동안 스트리밍 미디어를 수신할 수 없기 때문에 그것은 DATA*의 마지막 프레임 이후에 표시되어야 하는 프레임조차 수신하지 않았다. 상기 버퍼링된 미디어에서의 시간적인 갭이 존재한다. 그 결과, 상기 클라이언트 장치(101)는 상기 셀 재선택으로 인하여 수신될 수 없는 스트리밍 미디어(비디오)의 시퀀스를 표시하는 것을 스킵할 것이다. 오디오 스트림과 관련하여, 동일한 결과가 발생한다. 즉 상기 클라이언트 장치(101)는 수신될 수 없는 사운드의 재생을 스킵할 것이다.
상기 제2 경우는 도 5의 도움으로 추가로 설명된다. 도 5는 단지 매우 단순화된 경우를 도시한 것이라는 것은 주목되어야 한다. 시간은 도 5에서 좌측에서 우측으로 흐르는 것으로 간주된다. 상기 서버가 송신하는 스트리밍 미디어 시퀀스는 비디오 프레임들 A-S를 포함한다. 상기 프레임들은 상기 클라이언트 장치에서 수신되고 재생전에 버퍼링된다. 상기 버퍼가 가득 찬 경우(즉 상기 프레임들 A-G가 상기 버퍼에 저장된 경우) 프레임 A에서 시작하는 상기 미디어의 재생이 시작되고, 상기 프레임들(동 비디오 화상)은 후속적으로 클라이언트 장치 디스플레이상에 표시된다. 프레임 G 다음에 오는 프레임들의 버퍼링은 명확화를 위해 도 5에 도시되지 않는다.
상기 서버로부터 상기 클라이언트 장치로의 미디어 흐름은 상기 CR 기간동안 가능하지 않다. 그러므로, 상기 클라이언트 장치는 프레임들 L-O를 수신하지 못한다. 그렇지 않으면, 상기 미디어 흐름은 상기 클라이언트 장치에서 완전하게 수신된다. 이제 상기 CR 기간은 상기 버퍼 크기보다 더 짧고, 상기 CR 기간 이전에 수신된 마지막 프레임(프레임 K)의 표시 다음에 상기 CR 기간 이후에 수신된 첫번째 수신된 프레임(프레임 P)의 표시가 뒤따를 것이다. 비디오 프레임들 L-O는 전혀 표시되지 않는다. 오디오 스트림에 관해, 동일한 결과가 발생되는데, 즉 사용자는 멈춤 및 상기 사운드에서의 시간적인 갭을 듣는다.
두가지 유형의 프레임들이 존재한다: 인트라 프레임들 및 인터 프레임들. 상기 인트라 프레임들은 이미지의 모든 필요한 정보를 포함하고 반면에 인터-프레임들은 이전의 이미지와 비교하여 변경들 또는 예측된 변경들만을 포함한다. 상기 이전의 이미지는 인트라 프레임 또는 인터 프레임일 수 있다. 그러므로, 상기 프레임 P가 인트라 프레임인 경우 표시된 화상은 단지 프레임 K에서 프레임 P까지 시간즉으로 앞으로 감쌀 것이다. 이 경우 프레임들 L-O는 사용자에게 단순히 표시되지 않는다. 하지만, 상기 프레임 P가 인터 프레임인 경우 다음 인트라 프레임이 수신되고 재생되기 전에 표시된 (동) 화상에 심각한 왜곡이 발생할 것 같다.
도 6에 도시된 본 발명의 바람직한 실시예는 상기 제2 경우에 관한 상술된 문제에 집중된다. 본 실시예에서, 버퍼는 상기 CR 기간의 지속 시간보다 더 길다. 그러므로, 상기 버퍼는 상기 CR 기간동안 전부 비워지지 않고 단지 부분적으로 비워진다. 도 6이 단지 매우 단순화된 경우를 보여주는 것이라는 것은 주목되어야 한다. 시간은 도 6에서 좌측에서 우측으로 흐르는 것으로 간주된다. 상기 서버가 송신하는 스트리밍 미디어 시퀀스는 프레임들 A-S를 포함한다. 상기 프레임들은 상기 클라이언트 장치에서 수신되고 재생 전에 버퍼링된다. 상기 버퍼가 가득 찬 경우 프레임 A에서 시작하는 상기 미디어의 재생이 시작되고, 상기 프레임들(동 비디오 화상)은 후속적으로 클라이언트 장치 디스플레이상에 표시된다. 프레임 G 다음에 오는 프레임들의 버퍼링은 명확화를 위해 도 6에 도시되지 않는다. 상기 서버로부터 상기 클라이언트 장치로의 미디어 흐름은 상기 CR 기간동안 가능하지 않다. 그러므로, 상기 클라이언트 장치는 상기 프레임들 L-O를 수신하지 못한다. 그렇지 않으면, 상기 미디어 흐름은 상기 클라이언트 장치에서 완전하게 수신된다.
상기 CR 기간이 끝나는 경우 상기 클라이언트 장치는 상기 클라이언트 장치가 상기 CR 기간 이전에 (즉 상기 프리-CR 기간동안) 수신한 마지막 프레임이 무엇인지를 정확하게 알고 있다. 본 실시예에서, 그것은 프레임 K이다. 그다음 상기 클라이언트 장치는 상기 CR 기간이 종료된 직후, 상기 스트리밍 서버에게 마지막 수신된 프레임으로부터 상기 스트리밍 미디어를 전방으로 재송신하는 것을 시작하도록 요구한다. 상기 요구의 수신시 상기 스트리밍 서버는 상기 미디어 흐름의 재송신을 시작한다. 송신될 제1 프레임은 본 실시예에서 프레임 L이다. 상기 CR 기간 이후 하지만 상기 재송신이 시작되기 전에 송신되고 수신된 어떤 프레임들(아마도 프레임 P에서 시작하는 몇몇 프레임들)도 상기 클라이언트 장치에 의해 무시된다. 상기 CR 기간 이전에 상기 버퍼에 저장된 (프레임들 A-K의) 스트리밍 미디어가 종료되는 경우, 상기 재생은 상기 CR 기간 이후에 수신된 상기 재송신된 스트리밍 미디어의 첫번째 프레임(프레임 L)을 가지고 계속된다. 그러므로, 표시된 비디오 화상에 아무런 끊김도 사용자에게 나타나지 않아야 한다. 도 6에서, 그렇지 않으면 상기 클라이언트 장치에서 수신되는 것이 실패할 상기 재송신된 비디오 프레임들 L-O가 굵은 폰트로 표시된다. 유사하게, 오디오 스트림에 관해, 상기 스트리밍 서버는 수신이 상기 클라이언트 장치에서 중단되는 시점에 상기 오디오 스트림을 재송신하는 것을 시작하도록 요구받는다. 재생시 아무런 끊김도 나타나지 않아야 한다.
실제로, 상기 재송신 요구는 상기 RTSP 멈춤/재생 방법에 의해 수행될 수 있다. 상기 방법에서, 상기 클라이언트 장치는 상기 CR 기간이 종료된 후, 우선 RTSP 멈춤 메시지를 상기 스트리밍 서버로 송신한다. 상기 멈춤 메시지는 상기 서버가 상기 미디어 흐름의 송신을 멈추게 할 것이다. 하지만, 상기 클라이언트 장치에서 수신된 상기 스트리밍 미디어의 재생은 (그런 경우가 아니어야 하는) 상기 버퍼가 비워지지 않는 한 멈추지 않는다. 후속적으로, 상기 클라이언트 장치는 RTSP 재생 메시지를 상기 스트리밍 서버(111)로 송신한다. 상기 재생 메시지는 상기 재송신의시작점에 대한 정보를 포함한다. 상기 CR 기간의 종료시 상기 클라이언트 장치는 마지막 수신된 프레임의 시간을 알고 있다. 그것에 기초하여, 상기 클라이언트 장치는 상기 재생 메시지를 송신하기 전에 상기 시작점을 결정한다. 상기 재생 메시지는 상기 서버가 재송신을 시작하게 한다.
상기 멈춤 메시지의 예는 다음과 같다:
PAUSE rtsp://example.com/foo RTSP/1.0
CSeq:6
Session:354832
상기 멈춤 메시지는 상기 서버에게 변경이 오고 있다는 것을 알린다. 상기 후속적으로 송신된 재생 메시지의 예는 다음과 같다:
PAUSE rtsp://example.com/foo RTSP/1.0
CSeq:7
Session:354832
Range:npt=28.00-
상기 메시지 필드 'Range'는 재송신의 시작점을 알려준다. 본 예에서, 상기 시작점은 상기 스트리밍 미디어 시퀀스의 시작으로부터 28초이다. 도 6에 도시된 실시예와 관련하여, 상기 시작점은 정확하게 상기 스트리밍 미디어 시퀀스내의 프레임 L의 시간일 것이다.
방금 설명된 실시예에서, 상기 CR 기간동안 분실된 프레임들(패킷들)은 상기 서버로부터 상기 클라이언트 장치로 재송신될 것이다. 또한, 상기 버퍼 크기는 상기 CR 기간의 지속 시간보다 더 길기 때문에, 표시된 비디오 화상에서의 아무런 중단도 나타나지 않아야 하고 사용자 경험은 최대화된다.
하지만, 상기 경우는 정상 스트리밍동안 상기 버퍼의 충만도가 변경되지 않도록 하는 경우여서, 상기 버퍼는 그것이 채워지는 것과 동일한 속도로 비워지기(재생되기) 때문에, 이것은 부가적인 문제를 야기할 수 있다. 방금 설명된 실시예에서, 상기 셀 재선택 이후에, 상기 클라이언트 장치 버퍼는 이전에 설명된 바와 같은 이유로 이전보다 더 비워진 채로 있게 된다. 그러므로, 예를 들어 새로운 셀 재선택이 가까운 장래에 수행되는 경우, 더 비워진 버퍼는 상기 제1 경우(즉 상기 클라이언트 장치 버퍼가 셀 재선택이 취한 시간보다 더 짧은 경우)와 관련하여 논의된 것과 동일한 단점을 야기할 수 있다.
본 발명의 바람직한 실시예는 상기 문제에 집중된다. 본 실시예에서, 표시된 비디오 화상(유사하게: 재생된 사운드)의 유연한 행동을 보장하기 위하여, 상기 클라이언트 장치 버퍼는 상기 CR 기간 이후, 그것이 비워지는 (재생되는) 것보다 더 빠른 속도로 어떤 시간동안, 채워진다. 상기 기간은 채움(filling) 시간이라고 불리울 수 있다. 상기 채움 기간이 끝나는 경우 상기 버퍼는 다시 가득 차고 버퍼가 비워지는 것과 동일한 속도로 채워지는 정상 스트리밍이 재개된다.
정상적으로 상기 버퍼의 충만도를 올리는 것은 상기 재생이 멈추도록 요구할 것이라는 것은 주목되어야 한다. 본 실시예에서, 재생은 멈추지 않지만 상기 버퍼의 충만도는, 재생동안, 상기 재생 속도보다 더 빠른 속도로 버퍼가 채워지는 영리한 버퍼 관리로 인하여 여전히 상승될 수 있다.
상기 재생을 멈추지 않고 상기 버퍼의 충만도를 올리기 위하여, 본 실시예에서 상기 클라이언트 장치는 서버에게 저속 비트율 스트리밍 미디어 시퀀스를 송신하는 것으로 전환하도록 요구하고 하지만 이전과 같이 동일한 전송 비트율(이하 원래의 전송 비트율이라 함)을 실제로 송신시 사용하도록 요구한다. 상기 원래의 전송 비트율에 도달하기 위하여 상기 클라이언트 장치는 상기 서버에게 속도 인자만큼 상기 저속 비트율 시퀀스의 전송 속도를 올리도록 요구한다. 상기 전송 비트율을 올리는 것은 상기 버퍼로부터 독출되는 것보다 더 많은 데이터가 상기 버퍼에 기록되게 한다. 그러므로, 상기 버퍼의 충만도는 요망되는 바와 같이 증가한다.
즉, 상기 서버는 제1 비트율로 부호화된 원래의 시퀀스를 송신하는 것으로부터 상기 제1 비트율보다 더 느린 제2 비트율로 부호화된 새로운 대응하는 시퀀스를 송신하는 것으로 전환하도록 요구되고 상기 원래의 전송 비트율(대역폭)에 도달하기 위하여 상기 새로운 시퀀스의 전송 비트율을 증가시키도록 요구된다. 미디어 스트림이 부호화되는 (그리고 복호화되는) 비트율은 상기 전송 비트율과는 다른 개념이라는 것이 주목되어야 한다. 상기 미디어 스트림이 부호화된 비트율은 화상 품질에 영향을 미친다. 상기 미디어 스트림이 고속 비트율로 부호화된 경우, 이것은 저속 비트율로 부호화하는 것과 비교할 때 부호화시 더 많은 비트들이 사용된다는 것을 의미한다. 이것은 전형적으로 더 좋은 화상 품질을 초래한다. 다른 한편으로, 상기 전송 비트율은 상기 미디어 스트림이 실제로 송신된 비트율이고 그것은 이용가능한 대역폭에 의존한다.
저속 비트율 시퀀스로 송신하는 것으로 전환하고 상기 전송 비트율을 높이기 위한 요구는 상기 RTSP 멈춤/재생 방법을 사용하여 전달될 수 있다. 상기 클라이언트 장치가 상기 포스트-CR 기간동안 상기 클라이언트 장치 버퍼를 채우기를 원하는 경우, 상기 클라이언트 장치는 변화가 오고 있다는 것을 알리기 위하여 우선 이미 이전 설명에서 제시된 것에 대응하는 멈춤 메시지를 상기 서버로 송신한다. 후속적으로 상기 클라이언트 장치는 재생 메시지를 생성하고 그것을 상기 서버로 송신한다.
이러한 재생(PLAY) 메시지의 예는 다음과 같다:
PLAY rtsp://example.com/foo RTSP/1.0
CSeq:7
Session:354832
Range:npt=28.00-40.00
Bandwidth:20000
Speed:1.5
상기 메시지는 상기 클라이언트 장치 및 스트리밍 서버에서 이해될 두개의 선택적인 메시지 필드들, 즉 '대역폭(Bandwidth)' 및 '속도(Speed)'를 포함한다. 상기 필드들은 이미 표준 RFC 2326(실시간 스트리밍 프로토콜)에 인터넷 엔지니어링 태스크 포스(IETF: Internet Engineering Task Force)에 의해 선택적인 필드들로서 명시되어 있다.
상기 메시지 필드 '대역폭'은 상기 서버에게 저속 비트율 시퀀스(여기에서: 비트율이 20kbps인 시퀀스)를 송신하는 것으로 변경하라고 알려주고 상기 메시지 필드 '속도'는 상기 서버에게 속도 인자(여기에서: 1.5)만큼 송신 속도를 높이라고 알려준다. 상기 메시지 필드 '범위(Range)'는 (상기 스트리밍 미디어 시퀀스(들)의 처음부터 계산된) 시간 단위들로 상기 스트리밍 미디어 시퀀스에서의 시작점 및 중단점을 알려준다.
도시된 상기 재생 메시지는 상기 서버가 초기에 30kbps의 원래의 전송 비트율로 30kbps 비트율 시퀀스를 송신하고, 상기 버퍼를 채우기 위하여 상기 서버가, 비트율이 20kbps인 시퀀스를 송신하는 것으로 전환하며, (상기 미디어 시퀀스의 28초 및 40초의 시간 인스턴스들간의) 12초 채움 기간동안 30kbps의 원래의 전송 비트율에 도달하도록 속도 인자 1.5로 상기 송신 속도를 높이도록 요망되는 예에 적합할 것이다.
상기 클라이언트가 가능한 비트율 옵션들을 알고 있는 경우(그들은 예를 들어 RTSP DESCRIBE 메시지에 대한 200 OK 응답의 도움으로, 세션 설정동안 상기 서버로부터 상기 클라이언트로 전형적으로 전달된다), 상기 클라이언트는 다음 공식을 사용하여 원래의 비트율에 도달할 필요가 있는 속도 인자를 계산할 수 있다:
상기 버퍼가 가득 찬 경우, 상기 클라이언트 장치는 상기 서버로 다른 RTSP 멈춤 및 재생 메시지 쌍을 송신한다. 상기 재생 메시지의 예는 다음과 같다:
PLAY rtsp://example.com/foo RTSP/1.0
CSeq:67
Session:354832
Range:npt=40.00-
Bandwidth:30000
Speed:1.0
상기 예시적인 메시지는 상기 서버에게 상기 미디어 시퀀스의 시간 인스턴트 40초에서 시작하여(Range:npt=40.00-) 상기 원래의 전송 비트율 30 kbps(Speed:1.0)로 상기 (원래의) 30 kbps 비트율 미디어 시퀀스(Bandwidth:30000)를 송신하는 것을 시작하도록 요구한다.
상기 클라이언트 장치는 다음 공식을 사용하여 상기 버퍼 채움 기간의 길이를 계산할 수 있다:
상기에서
상기 공식들에서, LowSeqTime은 상기 클라이언트 장치에서 상기 저속 비트율 시퀀스 재생 시간의 지속 시간을 나타내고, Buffersize는 상기 버퍼의 크기를 초로 나타낸 것이며 BufferData는 상기 버퍼에 남아 있는 데이터를 초로 나타낸 것이다.
상기 버퍼의 채움이 도 7에 도시된다. 도 7이 단지 매우 단순화된 경우를 도시한 것이라는 것은 주목되어야 한다. 예를 들어 모든 지연들은 무시되었다. 시간은 도 7에서 좌측에서 우측으로 흐르는 것으로 간주된다. 상기 버퍼는 상기 CR 기간이 시작될 때 비우는 것을 시작한다는 것을 알 수 있다. 제1 재생 메시지의 수신시 상기 서버는 저속 비트율(여기에서: 20 kbps)을 지닌 미디어 시퀀스를 송신하는 것으로 전환하고 속도 인자(여기에서 다시:1.5)만큼 상기 송신 속도를 높인다. 상기 속도 인자는 1.5이기 때문에, 상기 버퍼 채움은 상기 비우는 기간이 지속되는 시간의 두배가 걸린다. 예를 들어, 상기 비우는 기간이 25초동안 지속되는 경우, 상기 채움 기간은 상기 속도 인자를 가지고 50초가 되어야 한다. 상기 버퍼가 가득 찬 경우 제2 재생 메시지가 송신되고 상기 서버는 고속 비트율(여기에서:30 kbps)을 지닌 원래의 미디어 시퀀스를 송신하는 것으로 전환하고 상기 원래의 전송 비트율로 계속 송신한다.
상기에서, 예를 들어 비디오 스트림은 전형적으로 인트라 및 인터 프레임들 양자를 포함하는 것으로 설명되었는데, 상기 인트라 프레임들은 이미지의 모든 필요한 정보를 포함하는 '독립적인 프레임들'이고 반면에 인터-프레임들은 이전의 이미지와 비교할 때 변경들 또는 예측된 변경들만을 포함한다. 하기의 본 발명의 바람직한 실시예에서, 상기 저속 비트율 시퀀스에서 상기 원래의 비트율 시퀀스로의 전환의 타이밍이 상기 관점에서 더 상세히 설명된다.
본 실시예에서 목적은 가능할 때는 언제든지, 원래의 비트율 시퀀스의 인트라 프레임의 시점(또는 더 일반적으로 상기 송신이 전환되는 상기 시퀀스의 인트라 프레임의 시점)에서 발생하도록 상기 저속 비트율 시퀀스에서 상기 원래의 비트율 시퀀스로의 전환 시간을 조절하는 것이다. 이러한 방식으로, 예측 오차 및/또는 미디어 (프레임) 흐름에서의 점프들이 회피될 수 있다. 도 8은 본 실시예를 도시한 것이다. 도 8이 단지 단순화된 경우를 도시한다는 것은 주목되어야 한다. 시간은 도 8에서 좌측에서 우측으로 흐르는 것으로 간주된다. 본 실시예에서, 상기 원래의 비트율 시퀀스로부터 상기 저속 비트율 시퀀스로의 제1 전환이 제1 멈춤/재생 메시지 쌍의 도움으로 시점 28초에서 실시된다.
도 8에 도시된 바와 같이, 상기 원래의 비트율 시퀀스내의 인트라 프레임들의 위치는 상기 저속 비트율 시퀀스의 인트라 프레임들의 위치와 다를 수 있다. 하지만,
·상기 버퍼를 전부 채우는데 요구되는 시간, 즉 '채움 기간'.
·상기 원래의 시퀀스내의 두 인접한 인트라 프레임들의 시간 거리, 즉 인트라 프레임률, 'IFrameTimeOriginal' 및
·상기 원래의 비트율 시퀀스로부터 상기 저속 비트율 시퀀스로의 제1 전환이 실시되는 시간, 즉 'SwitchTime'에 기초하여,
상기 원래의 비트율 시퀀스로 다시 전환하기 위한 적합한 시점이 계산될 수 있다. 상기 매개 변수 ''IFrameTimeOriginal'는 상기 저속 비트율 시퀀스로의 전환 이전에 상기 원래의 비트율 시퀀스로부터 상기 클라이언트 장치에서 계산될 수 있다. 상기 원래의 비트율 시퀀스로의 전환을 위한 적합한 시점의 계산은 다음 공식을 사용하여 수행될 수 있다:
상기 공식에서, 'SeqChangeTime'은 상기 원래의 비트율 시퀀스로 전환하기 위한 시점을 나타내고 꺾음 괄호는 상기 꺾음 괄호들에서 계산된 값의 소수부를 절단하는 플로어-함수(floor-function)(또는 절단-함수)를 나타낸다. 예를 들어, 상기 버퍼를 전부 채우는데 필요한 시간, 즉 '채움 기간"이 16초이고, 상기 제1 전환이 실시되는 시간, 즉 'SwitchTime'이 28초이며 상기 원래의 시퀀스내의 두개의 인접한 인트라 프레임들간의 시간 차, 즉 'IFrameTimeOriginal'가 5초인 경우, 상기 원래의 비트율 시퀀스로 전환하기 위한 시점은 40초이다(SeqChangeTime=5*floor((28+16)/5=40s). 따라서, 상기 제2 멈춤/재생 메시지 쌍은도 8에 도시된 바와 같이 시점 40초에 송신된다. 본 실시예에서, 상기 재생 메시지의 메시지 필드 '범위(Range)'에 배치될 시작점 및 중단점은 각각 28초 및 40초이다.
인트라 프레임률로 인하여, 상기 버퍼를 전부 채우는 것은 모든 경우에 가능하지 않을 수 있다는 것은 주목되어야 한다. 예를 들어, 방금 설명된 예에서, 상기 버퍼를 전부 채우는데 4초 더 걸릴 것이다. 하지만, 상기 공식은 상기 버퍼 채움 기간에 가장 근접한 적합한 인트라 프레임을 제공한다.
다른 실시예에서, 상기 CR 기간 이전에 마지막 수신된 프레임의 시점에, 상기 저속 비트율 미디어 시퀀스에 인트라 프레임이 존재하지 않는다는 것은 당연하다. 본 실시예에서, 상기 재송신 요구의 시작점은 상기 시작점에서 상기 저속 비트율 시퀀스내에 인트라 프레임이 존재하도록 필요한 양의 프레임들(또는 시간)만큼 조정된다. 이 경우, 상기 시작점 다음의 시간 기간에 속한, 상기 CR 기간 이전에 마지막 수신된 프레임들의 세트는 연속적인 재생을 보장하기 위하여 상기 클라이언트 장치에서 무시된다.
본 발명의 다른 실시예에서, 상기 두 상이한 비트율 시퀀스들간의 전환들은 방금 설명된 타이밍 방법(들)없이 수행된다. 본 실시예에서, (고속에서 저속 비트율 시퀀스로의) 제1 전환 점은 상기 마지막 수신된 프레임에 의해 직접 결정되고 (저속에서 고속 비트율 시퀀스로의) 제2 전환 점은 상기 버퍼를 전부 채우는데 필요한 시간('채움 시간')에 의해 직접 결정된다. 그러므로 상기 전환 점들은 인트라 또는 인터 프레임의 시점에서 끝날 수 있다. 전환 점이 인터 프레임(예를 들어 P-프레임)의 시점에서 끝나는 경우, 상기 재생된 미디어에 작은 예측 오차가 발생할 수 있지만, 본 실시예에서 상기 버퍼는 전부 채워질 수 있다.
전환을 수행하는 다른 방법은 소위 "전환 프레임들"을 사용하는 것이다. 이들은 상이한 비트율 시퀀스들내의 대응하는 프레임들간의 "차(difference)" 정보를 포함하는 프레임들이다. 본 실시예에서, 상기 두 시퀀스들간의 브리지(bridge) 및 전환은 상기 차 정보를 사용하여 상기 프레임들의 도움으로 수행된다.
도 9는 본 발명의 바람직한 실시예에 의한 클라이언트 장치(101)를 도시한 것이다. 상기 클라이언트 장치는 셀룰러 무선 전화 네트워크의 이동국일 수 있다. 상기 클라이언트 장치(101)는 처리 유닛(MCU), 무선 주파수부(RF) 및 사용자 인터페이스(UI)를 포함한다. 상기 무선 주파수부(RF) 및 상기 사용자 인터페이스(UI)는 상기 처리 유닛(MCU)에 연결되어 있다. 상기 사용자 인터페이스(UI)는 전형적으로 디스플레이, 하나 이상의 스피커 및 키보드(미도시)를 포함하는데, 사용자는 상기 키보드의 도움으로 상기 장치(101)를 사용할 수 있다.
상기 처리 유닛(MCU)은 프로세서(미도시), 메모리(210) 및 컴퓨터 소프트웨어를 포함한다. 상기 소프트웨어는 상기 메모리(210)에 저장되어 있다. 상기에 언급된 클라이언트 장치 버퍼(240)는 또한 상기 메모리(210)에 포함된다. 상기 프로세서는 상기 소프트웨어에 따라, 상기 서버(111)로부터 송신된 스트리밍 미디어의 수신 및 상기 무선 주파수부(RF)를 통한 상기 서버(111)로의 요구들의 송신, 상기 버퍼(240)에 수신된 스트리밍 미디어(비디오 및/또는 오디오)의 독출 및 기록 및 상기 디스플레이상에 상기 수신된 스트리밍 비디오의 제공 및 상기 사용자 인터페이스(UI)의 하나 이상의 스피커상에 오디오의 제공과 같은, 상기 클라이언트 장치(101)의 동작을 제어한다. 상기 버퍼의 (시간적인) 적합한 크기는 예를 들어 상기 최대(또는 평균) CR 기간 시간의 1.5 또는 2배일 수 있다.
상기 소프트웨어는 스트리밍 클라이언트 소프트웨어 애플리케이션(220)(이하 클라이언트 소프트웨어(220)라 함), RTP 계층, RTSP 계층, 세션 기술 프로토콜(SDP: Session Description Protocol) 계층, 전송 제어 프로토콜(TCP: Transmission Control Protocol) 계층, IP 계층 및 하기의 IP-계층, 하위 프로토콜 계층들과 같은 필요한 프로토콜 계층들을 구현하기 위한 프로토콜 스택(230)을 포함한다. 더욱이, 상기 소프트웨어는 상기 수신된 미디어를 재생하기 위한 미디어 플레이어를 상기 클라이언트 소프트웨어(220)의 일부로서 포함한다.
상기 프로세서는 상기 클라이언트 소프트웨어(220)에 기초하여 상기한 멈춤 및 재생 메시지들을 생성하고 그들을 상기 무선 주파수부(RF)를 통해 상기 서버(111)로 송신한다. 상기 프로세서는 또한 상기 클라이언트 소프트웨어(220)에 기초하여, 상기 속도 인자, 상기 버퍼 채움 기간 및 저속 비트율 시퀀스로부터 원래의 비트율 시퀀스로 전환하기 위한 적합한 시점에 관한 필요한 계산들을 수행한다.
상기 재송신 요구(재생 메시지)의 생성과 송신 및 다른 적합한 동작은 상기 이동 클라이언트 장치(101)에서 발생된 셀 재선택 이벤트에 의해 트리거된다. 상기 이벤트는 상기 프로토콜 스택(230)의 하위 계층들에 의해 제공된 애플리케이션 프로그래밍 인터페이스(API: Application Programming Interface)로부터 비동기 메시지들의 수신에 의해 상기 클라이언트 소프트웨어(220)에 의해 검출될 수 있다. 대안적으로 또는 부가적으로, 상기 이벤트는 상기 버퍼 레벨, 즉 상기 클라이언트 장치 버퍼(240)의 충만도(degree of fullness)를 감시함으로써 검출될 수 있다. 이 경우, 상기 버퍼(240)가 어떤 양(X)의 시간동안 데이터를 수신하지 않은 경우(구현에 따라, 상기 매개 변수 X는 상수 값으로 정의될 수 있고, 그것은 상기 셀 재선택 이벤트가 발생했다는 것을 상기 클라이언트 소프트웨어(220)가 이해하는 임계값이다), 그리고 상기 클라이언트 장치(101)가 나중에 어떤 가변 양(Y)의 시간 이후에 데이터를 수신하는 것을 시작하는 경우(Y>X 그리고 Y는 상기 CR 기간의 실제 지속 시간이다), 상기 클라이언트는 본 설명에서 설명된 동작을 트리거할 수 있다.
도 10은 본 발명의 바람직한 실시예에 의한 스트리밍 서버(111)를 도시한 것이다. 상기 스트리밍 서버(111)는 처리 유닛(CPU), 제1 메모리(310), IP 네트워크 인터페이스(350) 및 제2 메모리(360)를 포함한다. 상기 제1 메모리(310), 상기 IP 네트워크 인터페이스(350) 및 상기 제2 메모리(360)는 상기 처리 유닛(CPU)에 연결되어 있다.
상기 처리 유닛(CPU)은 상기 제1 메모리(310)에 저장된 컴퓨터 소프트웨어에 따라, 상기 클라이언트 장치(101)로부터 수신된 요구들의 처리 및 상기 제2 메모리(디스크)(360)에 저장된 미리 기록된 미디어 스트림들을 상기 IP 네트워크 인터페이스(350)를 통해 상기 클라이언트 장치(101)로 송신하는 것과 같은, 상기 스트리밍 서버(111)의 동작을 제어한다.
상기 소프트웨어는 스트리밍 서버 소프트웨어 애플리케이션(320)(이하 서버 소프트웨어(320)라 함), RTP 계층, RTSP 계층, 세션 기술 프로토콜(SDP: Session Description Protocol) 계층, 전송 제어 프로토콜(TCP: Transmission Control Protocol) 계층, IP 계층 및 하위 프로토콜 계층들과 같은 필요한 프로토콜 계층들을 구현하기 위한 프로토콜 스택(330)을 포함한다.
상기 클라이언트 장치(101)로부터 송신된 상기 멈춤 및 재생 메시지들은 상기 IP 네트워크 인터페이스(350)를 통해 수신된다. 상기 처리 유닛(CPU)의 프로세서(미도시)는 상기 서버 소프트웨어(320) 및 상기 프로토콜 스택(330)에 따라 상기 메시지들을 처리하고 적합한 동작을 취한다.
본 발명은 진행중인 스트리밍 세션에 대한 셀 재선택의 영향을 감소시키기 위한 수단을 제공한다. 본 발명의 바람직한 실시예들에 의하면, 재송신에 대한 요구(예를 들어 재생 메시지)가 상기 애플리케이션 계층을 통해, 즉 상기 클라이언트 소프트웨어 애플리케이션(220)과 상기 서버 소프트웨어 애플리케이션(320)간에 송신된다는 것은 주목되어야 한다. 바람직하기로는, 전송 제어 프로토콜(TCP)을 통한 RTSP 또는 다른 신뢰성있는 프로토콜을 통한 RTSP는 상기 클라이언트 장치로부터 상기 스트리밍 서버로 애플리케이션 계층 요구들을 전송하는데 사용된다. 그러므로 상기 스트리밍 서버에서의 상기 메시지들의 수신이 기본적으로 보장될 수 있다.
상기 셀 재선택이 두개의 기지국들간에 수행될 것이라고 설명되었을지라도, 셀 재선택이 또한 기지국의 두 섹터들 및 동일한 기지국간에 수행될 수 있다는 것은 주목되어야 한다. 또한, 구현에 따라 스트리밍 미디어의 송신을 멈추는 개별 메시지들(멈춤 메시지)가 필요없다는 것이 당연하다는 것은 주목되어야 한다. 대안적인 실시예에서, 스트리밍 미디어의 송신을 중단하고 스트리밍 미디어의 재송신을 시작하는 것은 단일 적합한 메시지에 의해 야기된다.
더욱이, 상기 버퍼 채움 실시예와 관련하여, 상기 서버가 저속 비트율 시퀀스를 송신하는 것으로 전환하는 경우, 상기 원래의 전송 비트율이 유지될 것이라는 것은 상기에서 설명되었다. 하지만, 본 발명의 대안적인 실시예에서, 상기 버퍼를 더 신속하게 채우기 위하여 상기 원래의 전송 비트율보다 더 높은 전송 비트율이 상기 채움 기간동안 사용된다. 상기 실시예에서, 더 넓은 대역폭이 상기 이동 클라이언트 장치에 의해 요구될 수 있고 더 넓은 대역폭이 실제로 상기 무선 액세스 네트워크에서 이용가능한 것으로 가정된다.
더욱이, 상기 버퍼 채움 실시예와 관련하여, 상기 시퀀스의 대역폭 정보는 상기 RTSP 필드 '대역폭(Bandwidth)' 이외의 다른 수단에 의해 (예를 들어, 상기 클라이언트 장치(101)에 알려져 있는 비트율로 부호화된 특정 시퀀스를 요구함으로써) 또한 상기 스트리밍 서버(111)로 송신될 수 있다. 이 경우, 상기 필드 '대역폭'은 사용되지 않고, 상기 필드들 '속도' 및 '범위'가 상기 실제 알려져 있는 시퀀스 비트율에 따라 재계산된다.
상기 네트워크(무선-인터페이스) 대역폭은 상기 버퍼 채움 기간동안 변경될 수 있다. 상기 클라이언트 장치(101)가 비트 스트림 전환을 포함하는 대역폭 적응을 지원하는 경우, 상기 클라이언트 장치(101)는 상기 스트리밍 서버(111)로 대역폭 적응 메시지를 송신하기 전에 (RTSP 멈춤 메시지로) 상기 버퍼 채움을 멈추어야 한다. 상기 대역폭 적응 동작들이 끝난 후에, 상기 클라이언트 장치는 상기 버퍼 채움을 다시 시작할 수 있고 상기 신규 미디어 스트림의 비트율 및 타이밍 정보에 따라 상기 '대역폭', '속도' 및 '범위' 값들을 재계산할 수 있다.
또한 상기 버퍼 채움 실시예와 관련하여, 대안적인 실시예에서, 상기 제2 멈춤/재생 메시지들은 전혀 송신되지 않지만 상기 원래의 전송 비트율로 상기 원래의 미디어 시퀀스를 송신하는 것으로의 전환은 상기 제1 재생 메시지에 포함된 중단점 정보에 기초하여 상기 서버에 의해 자동으로 수행될 것이라는 것은 주목되어야 한다.
본 발명의 다양한 실시예들에서 언급된 상기 재송신 요구는 어떤 경우에 실제로 송신하는 요구일 수 있다. 이러한 경우는 본 발명의 대안적인 실시예로서 간주된다. 본 실시예에서, 셀 재선택이 매우 가까운 장래에 발생할 것이라는 것을 미리 알고 있는 상기 클라이언트 장치(101)는 상기 셀 재선택 기간의 시작 이전에(즉 상기 프리-CR 기간동안) 상기 스트리밍 서버(111)로 멈춤 메시지를 송신한다. 상기 멈춤 메시지의 송신은 하위 계층 API에 의해 상기 클라이언트 소프트웨어(220)로 통지된 셀 재선택 개시 이벤트에 의해 트리거된다. 상기 멈춤 메시지는 상기 스트리밍 서버(111)가 상기 스트리밍 미디어를 송신하는 것을 중단하게 한다. 상기 CR-기간이 끝난 경우, 상기 클라이언트 장치(101)는 재생 메시지를 송신하는데 상기 재생 메시지는 상기 스트리밍 서버가 상기 CR 기간 이전에 송신을 중단했던 지점에서 송신을 시작하게 한다. 상기 스트리밍 미디어의 재생은 중간에 상기 클라이언트 장치(101)에서 중단되지 않고, 상기 클라이언트 장치 버퍼(240)가 셀 재선택이 취하는 시간보다 시간적으로 더 길게 선택된 경우, 상기 버퍼(240)는 셀 재선택동안 전부 비워지지 않고 사용자는 재생시 어떤 점프 또는 중단도 경험하지 않는다. 상기 재생 메시지는 상기 버퍼(240)의 충만도를 증가시키기 위하여 증가된 속도로 송신하기 위한 요구를 포함할 수 있다.
또 다른 실시예에서, 상기 이동 클라이언트 장치(101)는 상기 CR 기간 이전에, 상기 스트리밍 서버(111)에게 상기 스트리밍 미디어의 송신을 중단하고 상기 CR 기간 이후에 적합한 시점에 다시 송신을 개시하도록 요구하는 적합한 메시지를 상기 스트리밍 서버(111)로 송신한다. 상기 메시지의 송신은 상기 하위 계층 API에 의해 상기 클라이언트 소프트웨어(220)로 통지된 셀 재선택 개시 이벤트에 의해, 상기 프리-CR 기간동안 트리거된다. 상기 셀 재선택이 행해질 시간을 대략적으로 알고 있는 상기 이동 클라이언트 장치(101)는 데이터를 다시 수신할 수 있는 적합한 시점을 추정한다. 상기 이동 클라이언트 장치(101)는 상기 스트리밍 서버(111)가 다시 너무 일찍 송신을 시작하지 못하게 하기 위하여 상기 정보를 상기 메시지에 삽입한다.
상기에 언급된 메시지의 예는 다음과 같다:
PLAY rtsp://example.com/foo RTSP/1.0
CSeq:7
Session:354832
Range:npt=28.00-40.00; time=19970123T153600Z
Bandwidth:20000
Speed:1.5
이것은 헤더 필드 '시간(Time)'을 지닌 RTSP 재생 메시지이다. 상기 필드의 값은 상기 스트리밍 미디어의 "장래의" 송신의 시작을 스케줄링한다.
도 11은 메시지들이 송신될 수 있는 다음 3가지 방법들을 (특히 상기 버퍼 채움 실시예들과 관련하여) 도시한 것이다.
케이스 1: 상기 제1 멈춤 및 재생 메시지들은 상기 CR 기간 이후에 송신된다. 상기 제2 멈춤 및 재생 메시지들은 상기 버퍼(240)가 가득 찰 때 송신된다.
케이스 2: 상기 제1 멈춤 메시지는 상기 CR 기간 이전에 송신된다. 상기 연관된 재생 메시지는 상기 CR 기간 이후에 송신된다. 상기 제2 멈춤 및 재생 메시지들은 상기 버퍼(240)가 가득 찰 때 송신된다.
케이스 3: 상기 제1 멈춤 메시지는 상기 CR 기간 이전에 송신된다. 상기 연관된 재생 메시지는 상기 멈춤 메시지 이후에 하지만 상기 CR 기간 이전에 송신된다. 상기 제2 멈춤 및 재생 메시지들은 상기 버퍼(240)가 가득 찰 때 송신된다.
상기 제1 재생 메시지가 닫힌 '범위' 필드를 포함하는 경우, 상기 제2 멈춤 메시지의 송신은 필요하지 않다.
본 발명의 특정 구현들 및 실시예들이 설명되었다. 본 발명이 상기에 제시된 실시예들의 상세들(예를 들어 메시지 이름들 및 메시지 필드 이름들)에 한정되지 않고, 본 발명의 특징들을 벗어남없이 균등한 수단을 사용하여 다른 실시예들로 구현될 수 있다는 것은 당업자에게 명백하다. 본 발명의 범위는 첨부된 청구항들에 의해서만 제한된다.

Claims (33)

  1. 무선-인터페이스를 통해 스트리밍 서버(111)로부터 이동 클라이언트 장치(101)로 미디어를 스트리밍하기 위한 방법에 있어서,
    상기 스트리밍 서버(111)에게 상기 이동 클라이언트 장치(101)가 셀 재선택으로 인하여 수신할 수 없는 스트리밍 미디어를 송신하도록 요구하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 스트리밍 서버에는 송신을 시작할 시작점이 제공되는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 스트리밍 서버(111)는 상기 요구에 응답하여 상기 이동 클라이언트 장치(101)가 상기 셀 재선택으로 인하여 수신할 수 없는 스트리밍 미디어 뿐만 아니라 스트리밍 미디어의 나머지 부분도 송신하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 셀 재선택은 상기 이동 클라이언트 장치(101)가 스트리밍 미디어를 수신할 수 없는 셀 재선택 기간을 포함하고, 상기 방법은,
    상기 스트리밍 서버(111)에게 상기 이동 클라이언트 장치(101)가 상기 셀 재선택 기간동안 수신할 수 없었던 스트리밍 미디어를 재송신하도록 요구하는 재송신 요구를 상기 셀 재선택 기간 이후에 상기 이동 클라이언트 장치(101)로부터 상기 스트리밍 서버(111)로 송신하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서, 상기 재송신 요구는 실시간 스트리밍 프로토콜(RTSP : Real Time Streaming Protocol)에 따라 생성되는 것을 특징으로 하는 방법.
  6. 제4항에 있어서, 상기 재송신 요구는 RTSP 멈춤/재생(RTSP PAUSE/PLAY) 메시지 쌍에 의해 구현되는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 스트리밍 미디어는 재생전에 상기 클라이언트 장치(101)에서 버퍼와 같은, 임시 기억 장치(240)에 임시로 저장되는 것을 특징으로 하는 방법.
  8. 제7항에 있어서, 상기 임시 기억 장치(240)는 셀 재선택 기간보다 시간적으로 더 긴 크기를 지니는 것을 특징으로 하는 방법.
  9. 제7항에 있어서, 상기 스트리밍 서버는 상기 임시 기억장치(240)의 충만도(degree of fullness)를 증가시키기 위하여 상기 미디어의 재생 속도보다 더 빠른 속도로 스트리밍 미디어를 송신하도록 요구되는 것을 특징으로 하는 방법.
  10. 제9항에 있어서, 속도 인자를 지닌 요망되는 전송 비트율 또는 대역폭이 요구내에서 상기 스트리밍 서버(111)로 전달되는 것을 특징으로 하는 방법.
  11. 제9항에 있어서, 상기 스트리밍 미디어는 상기 재생 속도보다 더 빠른 속도로 상기 이동 클라이언트 장치(101)에 저장되는 것을 특징으로 하는 방법.
  12. 제9항에 있어서, 상기 스트리밍 서버(111)는 후속적으로 원래의 구성을 되찾도록 요구되는 것을 특징으로 하는 방법.
  13. 제7항에 있어서, 상기 임시 기억 장치(240)의 충만도는 상기 셀 재선택 동안 감소하고, 상기 스트리밍 서버는 상기 임시 기억 장치(240)가 전부 비어 있지 않을지라도 상기 수신되지 않은 스트리밍 미디어를 송신하도록 요구되며, 상기 요구는 상기 이동 클라이언트 장치(101)에서 재생 멈춤없이 수행되는 것을 특징으로 하는 방법.
  14. 제1항에 있어서, 상기 스트리밍 서버는 동일한 미디어 콘텐트가 상이한 비트율들로 부호화된 전송에 이용가능한 한 세트의 미디어 스트림들을 구비하는 것을 특징으로 하는 방법.
  15. 제14항에 있어서, 상기 이용가능한 미디어 스트림들의 세트에 대한 정보는 스트리밍 세션 설정시 상기 이동 클라이언트 장치(101)로 미리 전달되는 것을 특징으로 하는 방법.
  16. 제15항에 있어서, 상기 스트리밍 서버(111)는 증가된 속도로 고속 비트율 미디어 스트림의 송신으로부터 저속 비트율 미디어 스트림의 송신으로 전환하도록 요구되는 것을 특징으로 하는 방법.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 스트리밍 미디어는 비디오 스트림, 오디오 스트림, 단일 미디어의 다른 스트림 및 멀티미디어 스트림 중 하나를 포함하는 것을 특징으로 하는 방법.
  18. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 스트리밍 서버(111)는 스트리밍 미디어를 이동 통신 네트워크를 통해 상기 이동 클라이언트 장치(101)로 송신하는 것을 특징으로 하는 방법.
  19. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 이동 통신 네트워크는 일반 패킷 무선 서비스(GPRS: General Packet Radio Service) 네트워크와 같은, 이동 패킷 무선 네트워크를 포함하는 것을 특징으로 하는 방법.
  20. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 셀 재선택은 GPRS 시스템에 속한 기지국들, 3세대 이동 통신 시스템에 속한 기지국들을 포함하는 그룹으로부터 선택된 두개의 기지국들(BS1, BS2)간에 수행되는 것을 특징으로 하는 방법.
  21. 무선-인터페이스를 통해 스트리밍 서버(111)로부터 스트리밍 미디어를 수신하기 위한 이동 클라이언트 장치(101)에 있어서,
    상기 스트리밍 서버(111)에게 상기 이동 클라이언트 장치(101)가 셀 재선택으로 인하여 수신할 수 없는 스트리밍 미디어를 송신하도록 요구하기 위한 수단(220, 230, MCU)을 포함하는 것을 특징으로 하는 이동 클라이언트 장치(101).
  22. 무선-인터페이스를 통해 이동 클라이언트 장치(101)로 스트리밍 미디어를 송신하기 위한 스트리밍 서버(111)에 있어서,
    상기 스트리밍 서버(111)에게 상기 이동 클라이언트 장치(101)가 셀 재선택으로 인하여 수신할 수 없는 스트리밍 미디어를 송신하도록 요구하는 요구를 수신하기 위한 수단(350); 및
    상기 수신된 요구에 대해 동작하기 위한 수단(320, 330, CPU)을 포함하는 것을 특징으로 하는 스트리밍 서버(111).
  23. 스트리밍 서버(111) 및 이동 클라이언트 장치(101)를 포함하며, 무선-인터페이스를 통해 상기 스트리밍 서버(111)로부터 상기 이동 클라이언트 장치(101)로 미디어를 스트리밍하기 위한 시스템에 있어서,
    상기 시스템은,
    상기 이동 클라이언트 장치(101)에서,
    상기 스트리밍 서버(111)에게 상기 이동 클라이언트 장치(101)가 셀 재선택으로 인하여 수신할 수 없는 스트리밍 미디어를 송신하도록 요구하기 위한 수단(220, 230, MCU)을 포함하고,
    상기 시스템은 상기 스트리밍 서버(111)에서,
    상기 요구를 수신하기 위한 수단(350); 및
    상기 수신된 요구에 대해 동작하기 위한 수단(320, 330, CPU)을 더 포함하는 것을 특징으로 하는 시스템.
  24. 이동 클라이언트 장치(101)에서 실행되어 상기 이동 클라이언트 장치(101)로 하여금, 상기 스트리밍 서버(111)에게 상기 이동 클라이언트 장치(101)가 셀 재선택으로 인하여 수신할 수 없는 스트리밍 미디어를 송신하도록 요구하게 하는 프로그램 코드를 포함하는 컴퓨터 프로그램을 수록한 컴퓨터에 의해 독출가능한 저장매체.
  25. 스트리밍 서버(111)에서 실행되어 상기 스트리밍 서버(111)로 하여금, 상기 스트리밍 서버(111)에게 상기 이동 클라이언트 장치(101)가 셀 재선택으로 인하여 수신할 수 없는 스트리밍 미디어를 송신하도록 요구하는 요구를 수신하게 하는 프로그램 코드; 및
    상기 수신된 요구에 대해 동작하는 프로그램 코드를 포함하는 컴퓨터 프로그램을 수록한 컴퓨터에 의해 독출가능한 저장매체.
  26. 제21항에 있어서, 상기 요구는 요구된 스트리밍 미디어의 송신을 시작할 시작점을 포함하는 것을 특징으로 하는 이동 클라이언트 장치.
  27. 제21항에 있어서, 상기 셀 재선택 기간은 상기 이동 클라이언트 장치가 스트리밍 미디어를 수신할 수 없는 셀 재선택 기간을 포함하고,상기 이동 클라이언트 장치(101)는 셀 재선택 기간 후에 상기 스트리밍 서버(111)에게 상기 이동 클라이언트 장치(101)가 상기 셀 재선택 기간 동안 수신할 수 없었던 스트리밍 미디어를 재송신하도록 요구하는 재송신 요구를 상기 스트리밍 서버(111)로 송신하도록 구성된 것을 특징으로 하는 이동 클라이언트 장치.
  28. 제21항에 있어서, 상기 재송신 요구는 실시간 스트리밍 프로토콜(RTSP : Real Time Streaming Protocol)에 따라 생성되는 것을 특징으로 하는 이동 클라이언트 장치.
  29. 제21항에 있어서, 상기 이동 클라이언트 장치는 재생 전에 스트리밍 미디어를 일시적으로 저장하는 버퍼와 같은, 임시 기억 장치(240)를 포함하는 것을 특징으로 하는 이동 클라이언트 장치.
  30. 제29항에 있어서, 상기 이동 클라이언트 장치는 상기 임시 기억장치(240)의 충만도를 증가시키기 위하여 상기 미디어의 재생 속도보다 더 빠른 속도로 스트리밍 미디어를 송신하도록 상기 스트리밍 서버에 요구하는 것을 특징으로 하는 이동 클라이언트 장치.
  31. 제22항에 있어서, 상기 스트리밍 서버가 이동 클라이언트 장치의 임시 기억장치(240)의 충만도를 증가시키기 위하여 상기 미디어의 재생 속도보다 더 빠른 속도로 스트리밍 미디어를 송신하도록 구성된 것을 특징으로 하는 스트리밍 서버.
  32. 제22항에 있어서, 상기 스트리밍 서버가 동일한 미디어 콘텐트가 상이한 비트율로 부호화된 전송에 이용가능한 한 세트의 미디어 스트림들을 저장하기 위한 메모리를 포함하는 것을 특징으로 하는 스트리밍 서버.
  33. 제32항에 있어서, 상기 스트리밍 서버가 스트리밍 세션 설정시 상기 이용가능한 미디어 스트림들의 세트에 대한 정보를 사전에 상기 이동 클라이언트 장치(101)로 전달하도록 구성된 것을 특징으로 하는 스트리밍 서버.
KR1020057006376A 2002-10-14 2003-10-10 미디어 스트리밍 KR100705432B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20021820 2002-10-14
FI20021820A FI116816B (fi) 2002-10-14 2002-10-14 Median suoratoisto

Publications (2)

Publication Number Publication Date
KR20050065592A KR20050065592A (ko) 2005-06-29
KR100705432B1 true KR100705432B1 (ko) 2007-04-09

Family

ID=8564746

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057006376A KR100705432B1 (ko) 2002-10-14 2003-10-10 미디어 스트리밍

Country Status (12)

Country Link
US (1) US7733830B2 (ko)
EP (1) EP1552644B1 (ko)
JP (1) JP4287376B2 (ko)
KR (1) KR100705432B1 (ko)
CN (1) CN1706146B (ko)
AU (1) AU2003278207A1 (ko)
BR (2) BR0315207A (ko)
CA (1) CA2500781A1 (ko)
FI (1) FI116816B (ko)
MY (1) MY143014A (ko)
TW (1) TWI248740B (ko)
WO (1) WO2004036824A1 (ko)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
EP1552617A2 (en) 2002-10-05 2005-07-13 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
CN1954501B (zh) 2003-10-06 2010-06-16 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法
US7440430B1 (en) * 2004-03-30 2008-10-21 Cisco Technology, Inc. Jitter buffer management for mobile communication handoffs
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
JP4971144B2 (ja) 2004-05-07 2012-07-11 デジタル ファウンテン, インコーポレイテッド ファイルダウンロードおよびストリーミングのシステム
JP4428161B2 (ja) * 2004-07-16 2010-03-10 ブラザー工業株式会社 接続状態制御装置、接続状態制御方法及び接続状態制御用プログラム
JP4389216B2 (ja) * 2004-11-15 2009-12-24 株式会社カシオ日立モバイルコミュニケーションズ 移動通信端末およびコンテンツ再生方法
US8218439B2 (en) * 2004-11-24 2012-07-10 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive buffering
US8089941B2 (en) * 2004-12-10 2012-01-03 Broadcom Corporation Mobile communication device and system supporting personal media recorder functionality
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US8370514B2 (en) 2005-04-28 2013-02-05 DISH Digital L.L.C. System and method of minimizing network bandwidth retrieved from an external network
EP1911278A2 (en) * 2005-08-04 2008-04-16 Nds Limited Advanced digital tv system
US8908577B2 (en) * 2005-12-02 2014-12-09 Qualcomm Incorporated Solving IP buffering delays in mobile multimedia applications with translayer optimization
KR101292851B1 (ko) 2006-02-13 2013-08-02 디지털 파운튼, 인크. 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US8355720B2 (en) * 2006-05-12 2013-01-15 Motorola Mobility Llc Application and transport adaptation for a wireless communication prior to a reselection
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
JP4722028B2 (ja) 2006-12-26 2011-07-13 富士通株式会社 データ転送システム、接近通知システム、およびデータ転送方法
US9979931B2 (en) * 2007-05-30 2018-05-22 Adobe Systems Incorporated Transmitting a digital media stream that is already being transmitted to a first device to a second device and inhibiting presenting transmission of frames included within a sequence of frames until after an initial frame and frames between the initial frame and a requested subsequent frame have been received by the second device
US8180029B2 (en) * 2007-06-28 2012-05-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
JP4919890B2 (ja) * 2007-07-11 2012-04-18 株式会社日立製作所 無線システム、基地局および移動局
US8813141B2 (en) 2007-08-08 2014-08-19 At&T Intellectual Properties I, L.P. System and method of providing video content
JP5027305B2 (ja) 2007-09-12 2012-09-19 デジタル ファウンテン, インコーポレイテッド 信頼できる通信を可能にするためのソース識別情報の生成および伝達
US8090867B2 (en) * 2007-10-19 2012-01-03 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8682336B2 (en) * 2007-10-19 2014-03-25 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8145780B2 (en) * 2007-10-19 2012-03-27 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8706907B2 (en) * 2007-10-19 2014-04-22 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8380874B2 (en) * 2007-10-19 2013-02-19 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8699678B2 (en) * 2007-10-19 2014-04-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8391312B2 (en) * 2007-10-19 2013-03-05 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8111713B2 (en) 2007-10-19 2012-02-07 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8321581B2 (en) * 2007-10-19 2012-11-27 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
WO2009084082A1 (ja) * 2007-12-27 2009-07-09 Fujitsu Limited 通信方法、通信システムおよび基地局
JP2009194688A (ja) * 2008-02-15 2009-08-27 Seiko Epson Corp 画像転送装置、画像表示装置、画像表示システム、画像データの転送方法、画像表示方法、およびコンピュータプログラム
CN101540881B (zh) * 2008-03-19 2011-04-13 华为技术有限公司 实现流媒体定位播放的方法、装置及系统
US8565740B2 (en) * 2008-05-08 2013-10-22 Blackberry Limited System and method for providing streaming data to a mobile device
US9462029B2 (en) * 2008-08-29 2016-10-04 Red Hat, Inc. Invoking serialized data streams
KR20100073168A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 합성데이터 송/수신 장치 및 방법
TWI396443B (zh) * 2008-12-22 2013-05-11 Ind Tech Res Inst 應用於網路串流之影音控制回應及頻寬調適方法與使用該方法之伺服器
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9137026B1 (en) * 2009-04-23 2015-09-15 Sprint Communications Company L.P. Seamless service transitions for dual-network mobile devices
JP2011041018A (ja) * 2009-08-11 2011-02-24 Sony Corp 情報処理装置、情報処理方法、プログラムおよび通信端末
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
CN101729858A (zh) * 2009-12-14 2010-06-09 中兴通讯股份有限公司 一种蓝牙媒体的播放控制方法及系统
US9819840B2 (en) 2010-01-11 2017-11-14 Bryan Nunes Audio device that extracts the audio of a multimedia stream and serves the audio on a network while the video is displayed
US9438360B2 (en) * 2010-01-11 2016-09-06 Signet Media, Inc. System and method for providing an audio component of a multimedia content displayed on an electronic display device to one or more wireless computing devices
CN102148806A (zh) * 2010-02-09 2011-08-10 华为技术有限公司 网络电视的时移处理方法和系统以及网络设备、终端
US9510029B2 (en) 2010-02-11 2016-11-29 Echostar Advanced Technologies L.L.C. Systems and methods to provide trick play during streaming playback
US8516063B2 (en) 2010-02-12 2013-08-20 Mary Anne Fletcher Mobile device streaming media application
US9049497B2 (en) 2010-06-29 2015-06-02 Qualcomm Incorporated Signaling random access points for streaming video data
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
TWI469606B (zh) 2012-12-10 2015-01-11 Hon Hai Prec Ind Co Ltd 流媒體分享請求系統、流媒體提供系統及其方法
EP2750447A1 (en) * 2012-12-28 2014-07-02 Alcatel Lucent Neighboring cell selection for an user equipment using a content delivery service in a mobile network
US9883546B2 (en) 2015-09-04 2018-01-30 Apple Inc. Postponing a resending of a data service request
JP6772218B2 (ja) * 2018-06-29 2020-10-21 Line株式会社 プログラム、情報処理方法、端末
JP6906126B2 (ja) * 2018-06-29 2021-07-21 Line株式会社 プログラム、情報処理方法、端末
WO2020026242A1 (en) * 2018-08-01 2020-02-06 Ichannel.Io Ltd. A system for management of a plurality of rendering machines to avoid transmission failures
US11588876B2 (en) * 2020-06-16 2023-02-21 T-Mobile Usa, Inc. Device-side playback restrictions on high throughput networks
US20230101262A1 (en) * 2021-09-29 2023-03-30 At&T Intellectual Property I, L.P. Application-level network slicing for high quality of experience

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001030090A2 (en) * 1999-10-18 2001-04-26 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for the wireless transmission of loss sensitive data
US20030009576A1 (en) * 2001-07-03 2003-01-09 Apostolopoulos John G. Method for handing off streaming media sessions between wireless base stations in a mobile streaming media system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864578A (en) * 1996-04-29 1999-01-26 Golden Bridge Technology, Inc. Matched filter-based handoff method and apparatus
FI109503B (fi) 1997-04-15 2002-08-15 Nokia Corp Pakettien menetyksen estäminen pakettipohjaisen tietoliikenneverkon handoverissa sekä handovermenetelmä
JP3337062B2 (ja) * 1997-11-21 2002-10-21 日本電気株式会社 無線データ転送方法及びそのシステム
JPH11187367A (ja) 1997-12-19 1999-07-09 Nec Corp 映像送信装置,映像受信装置及びこれらを用いた映像伝送システム
US8341662B1 (en) * 1999-09-30 2012-12-25 International Business Machine Corporation User-controlled selective overlay in a streaming media
US6665726B1 (en) * 2000-01-06 2003-12-16 Akamai Technologies, Inc. Method and system for fault tolerant media streaming over the internet
US6360099B1 (en) * 2000-06-09 2002-03-19 Motorola, Inc. Reducing audio gaps during a communication network handoff
EP1182875A3 (en) 2000-07-06 2003-11-26 Matsushita Electric Industrial Co., Ltd. Streaming method and corresponding system
FI113323B (fi) * 2000-08-21 2004-03-31 Nokia Corp Datapakettinumeroiden synkronointi pakettivälitteisessä tiedonsiirrossa
CA2428325C (en) 2000-11-29 2011-08-30 Matthew David Walker Transmitting and receiving real-time data
EP1261204A2 (en) 2001-03-29 2002-11-27 Matsushita Electric Industrial Co., Ltd. Method and apparatus for data reproduction
US7058035B2 (en) * 2001-06-29 2006-06-06 Qualcomm, Indorporated Communication system employing multiple handoff criteria
US6954456B2 (en) * 2001-12-14 2005-10-11 At & T Corp. Method for content-aware redirection and content renaming
US20030114158A1 (en) * 2001-12-18 2003-06-19 Lauri Soderbacka Intersystem handover of a mobile terminal
US20040008688A1 (en) * 2002-07-11 2004-01-15 Hitachi, Ltd. Business method and apparatus for path configuration in networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001030090A2 (en) * 1999-10-18 2001-04-26 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for the wireless transmission of loss sensitive data
US20030009576A1 (en) * 2001-07-03 2003-01-09 Apostolopoulos John G. Method for handing off streaming media sessions between wireless base stations in a mobile streaming media system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
'3rd Generation partnership project; Technical spe
''3rd Generation partnership project; Technical specification group services and system aspects; Transparent end-to-end packet switched streaming service (PSS); General description (Release 5)'' 3GPP T *

Also Published As

Publication number Publication date
MY143014A (en) 2011-02-14
BRPI0315207B1 (pt) 2017-12-26
TWI248740B (en) 2006-02-01
KR20050065592A (ko) 2005-06-29
CA2500781A1 (en) 2004-04-29
CN1706146A (zh) 2005-12-07
EP1552644A1 (en) 2005-07-13
EP1552644B1 (en) 2016-12-28
US7733830B2 (en) 2010-06-08
WO2004036824A1 (en) 2004-04-29
TW200406108A (en) 2004-04-16
FI20021820A (fi) 2004-04-15
BR0315207A (pt) 2005-08-16
FI116816B (fi) 2006-02-28
CN1706146B (zh) 2010-10-13
FI20021820A0 (fi) 2002-10-14
AU2003278207A1 (en) 2004-05-04
JP4287376B2 (ja) 2009-07-01
JP2006503463A (ja) 2006-01-26
US20040071088A1 (en) 2004-04-15

Similar Documents

Publication Publication Date Title
KR100705432B1 (ko) 미디어 스트리밍
JP4927333B2 (ja) 帯域幅適応
US9203886B2 (en) Content rate control for streaming media servers
EP1552655B1 (en) Bandwidth adaptation
US20050254508A1 (en) Cooperation between packetized data bit-rate adaptation and data packet re-transmission
JP5207895B2 (ja) 送信装置、受信装置、及び方法、プログラム
EP1560374A1 (en) Real time communication adaptive control method
WO2006086691A2 (en) A network for providing a streaming service
JP2002290974A (ja) 伝送レート制御方法
KR101055169B1 (ko) 스트리밍 시스템의 트래픽 제어 방법 및 그 장치
Lundan et al. 3GPP streaming over GPRS rel'97
JP2003204575A (ja) マルチメディアデータ送信装置
KR20080037950A (ko) 데이터를 송수신하는 방법 및 장치
Lundan et al. Optimal 3GPP packet-switched streaming service (PSS) over GPRS networks
Curcio QoS Aspects of Mobile Multimedia Applications
CN115842900A (zh) 一种无线信道下的音视频通信优化方法
Velev et al. TCP-friendly streaming in next generation wireless networks
Singh Rate-control for conversational H. 264 video communication in heterogeneous networks
Schorr et al. Adaptive Media Streaming in Heterogeneous

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: 20130320

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140320

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160318

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 11