KR100601934B1 - 적응적 스트리밍 장치 및 방법 - Google Patents

적응적 스트리밍 장치 및 방법 Download PDF

Info

Publication number
KR100601934B1
KR100601934B1 KR1020030081723A KR20030081723A KR100601934B1 KR 100601934 B1 KR100601934 B1 KR 100601934B1 KR 1020030081723 A KR1020030081723 A KR 1020030081723A KR 20030081723 A KR20030081723 A KR 20030081723A KR 100601934 B1 KR100601934 B1 KR 100601934B1
Authority
KR
South Korea
Prior art keywords
bit rate
data
streaming
client
control signal
Prior art date
Application number
KR1020030081723A
Other languages
English (en)
Other versions
KR20050047920A (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 KR1020030081723A priority Critical patent/KR100601934B1/ko
Publication of KR20050047920A publication Critical patent/KR20050047920A/ko
Application granted granted Critical
Publication of KR100601934B1 publication Critical patent/KR100601934B1/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/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/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • 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
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump

Landscapes

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

Abstract

적응적 스트리밍 장치 및 방법이 개시된다. 이 장치는, 패킷화된 데이타를 스트리밍하는 스트리밍 경로와, 제어 신호에 응답하여 결정되는 제1 비트율로 데이타를 생성하고, 생성된 데이타를 패킷화하여 제2 비트율로 스트리밍 경로를 통해 전송하는 서버 및 패킷화된 데이타를 스트리밍 경로의 상태에 따라 가변되는 제3 비트율로 수신하고, 제3 비트율에 응답하여 제어 신호를 생성하는 클라이언트를 구비하는 것을 특징으로 한다. 그러므로, 스트리밍하면서 네트워크의 대역폭을 자동으로 인식하여 스트리밍하고자 하는 멀티 미디어 데이타의 비트율을 변경시킴으로서 멀티 미디어 데이타를 끊김없이 재생할 수 있도록 하고 즉, 버퍼링 현상이 없이 지속적인 재생을 가능하게 하고 망 혼잡으로 인한 패킷의 지연과 손실을 최소화할 수 있도록 하고, 클라이언트의 버퍼 상태에 따라 제어 신호를 달리 발생하여 이를 서버의 데이타 생성에 반영시키므로써 오디오/비디오 재생의 품질을 최적화시킬 수 있고, 제1 비트율 이상의 제2 비트율로 패킷 간격을 정하여 데이타를 전송하므로 대역폭 증가에 따른 예측 성능을 개선해서 대역폭 증가시에 네트워크 대역폭 활용율을 높일 수 있는 효과를 갖는다.

Description

적응적 스트리밍 장치 및 방법{Adaptive streamimg apparatus and method}
도 1은 본 발명에 의한 적응적 스트리밍 장치의 개략적인 블럭도이다.
도 2는 종래의 패킷 페어 방식을 설명하기 위한 도면이다.
도 3은 본 발명에 의한 개선된 패킷 페어 방식을 설명하기 위한 도면이다.
도 4는 패킷 간격 설정을 설명하기 위한 도면이다.
도 5는 네트워크 수신 버퍼링의 점유 상태를 설명하기 위한 도면이다.
도 6은 도 1에 도시된 서버의 본 발명에 의한 바람직한 일 실시예의 블럭도이다.
도 7은 도 1에 도시된 클라이언트의 본 발명에 의한 일 실시예의 블럭도이다.
도 8은 도 7에 도시된 클라이언트측 스트리밍 엔진부의 본 발명에 의한 실시예의 블럭도이다.
도 9는 본 발명에 의한 적응적 스트리밍 방법을 설명하기 위한 플로우차트이다.
본 발명은 주문형 비디오(VOD:Video On Demand), 주문형 음악(MOD:Music On Demand), 주문형 오디오(AOD:Audio On Demand) 또는 화상 통신 등과 같이 멀티 미디어(multimedia) 스트리밍(streaming) 기술을 사용하는 분야에 관한 것으로서, 특히, 스트리밍을 실시하는 스트리밍 장치 및 방법에 관한 것이다.
VOD나 MOD를 이용하여 멀티 미디어 컨텐츠를 스트리밍하여 재생할 때 버퍼링이 되는 동안 재생이 멈추는 현상을 자주 접할 수 있다. 이와 같이, 멀티 미디어 스트리밍 장치가 데이타를 재생하는 도중에 끊기는 이유는 다음과 같이 두 가지가 있다.
첫 번째 이유는 스트리밍하고자 하는 데이타의 비트율보다 네트워크의 대역폭이 작기 때문이다. 인터넷의 대역폭은 하나의 네트워크를 여러 명이 공유하여 사용하므로, 네트워크 트래픽(traffic) 발생량에 따라 사용할수 있는 대역폭(이하, 가용 대역폭이라 한다.)이 변하게 된다. 특히, 무선 네트워크(CDMA 또는 무선 랜)에서는 이동 속도에 따라서 가용 대역폭의 변화가 심하게 발생한다. 두 번째 이유는 처리할 데이타의 용량이 스트리밍 장치가 처리할 수 있는 한계를 넘기 때문이다.
전술한 첫 번째 이유를 해소하기 위해, 네트워크의 대역폭을 정확하게 예측하고, 예측된 대역폭을 이용하여 스트리밍하고자 하는 데이트의 비트율을 조정해야 한다. 이와 같이, 대역폭을 예측하는 종래의 방법들중 하나가 국내 특허 공개 번호 특2003-0016144에 "비디오 데이타 스트리밍 서비스 방법"이란 제목으로 개시되어 있다. 개시된 종래의 대역폭 예측 방법은 버퍼의 상태에 따라 주기적으로 대역폭을 예측한다. 그러나, 버퍼를 이용하여 대역폭을 예측하기 때문에, 종래의 대역폭 예측 방법은 대역폭을 정확히 측정하기 어려운 문제점을 갖는다. 게다가 개시된 종래의 대역폭 예측 방법은 특수한 네트워크에 국한되기 때문에 일반적인 네트워크에 적용하기 어려운 문제점을 갖는다.
본 발명이 이루고자 하는 기술적 과제는, 끊김없이(seamless) 멀티 미디어 데이타를 재생하도록 스트리밍을 실시하는 적응적 스트리밍 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, 끊김없이(seamless) 멀티 미디어 데이타를 재생하도록 스트리밍을 실시하는 적응적 스트리밍 방법을 제공하는 데 있다.
상기 과제를 이루기 위한 본 발명에 의한 적응적 스트리밍 장치는, 패킷화된 데이타를 스트리밍하는 스트리밍 경로와, 제어 신호에 응답하여 결정되는 제1 비트율로 데이타를 생성하고, 생성된 데이타를 패킷화하여 제2 비트율로 상기 스트리밍 경로를 통해 전송하는 서버 및 상기 패킷화된 데이타를 상기 스트리밍 경로의 상태에 따라 가변되는 제3 비트율로 수신하고, 상기 제3 비트율에 응답하여 상기 제어 신호를 생성하는 클라이언트로 구성되는 것이 바람직하다.
상기 다른 과제를 이루기 위해, 전술한 적응적 스트리밍 장치에서 수행되는 본 발명에 의한 적응적 스트리밍 방법은, 상기 데이타의 전송이 요구될 때, 상기 클라이언트에서 결정된 상기 제1 비트율로 상기 데이타를 생성하는 단계와, 상기 생성된 데이타를 패킷화하여 상기 제2 비트율로 상기 클라이언트로 전송하는 단계와, 상기 서버로부터 전송된 상기 패킷화된 데이타를 상기 제3 비트율로 수신하는 단계와, 상기 수신된 데이타의 크기와 간격을 이용하여 결정한 상기 제3 비트율을 이용하여 상기 제1 비트율을 결정하는 단계 및 상기 데이타의 전송을 요구할 것인가를 판단하고, 상기 데이타의 전송을 상기 서버에게 요구할 것으로 판단되면, 상기 데이타를 생성하는 단계로 진행하는 단계로 이루어지는 것이 바람직하다.
이하, 본 발명에 의한 적응적 스트리밍 장치의 구성 및 동작을 첨부된 도면을 참조하여 다음과 같이 설명한다.
도 1은 본 발명에 의한 적응적 스트리밍 장치의 개략적인 블럭도로서, 서버(10), 클라이언트(12) 및 스트리밍 경로(14)로 구성된다.
도 1에 도시된 스트리밍 경로(14)는 패킷화된 데이타를 스트리밍하는 역할을 한다. 서버(10)는 클라이언트(12)로부터 입력한 제어 신호에 응답하여 제1 비트율을 결정하고, 결정한 제1 비트율로 데이타를 생성하며, 생성된 데이타를 패킷화하여 제2 비트율로 스트리밍 경로(14)를 통해 클라이언트(12)로 전송한다.
이 때, 클라이언트(12)는 패킷화된 데이타를 스트리밍 경로(14)의 상태에 따라 가변되는 제3 비트율로 스트리밍 경로(14)를 통해 수신하고, 수신된 패킷화된 데이타를 재생하고, 제3 비트율에 응답하여 제어 신호를 생성하며, 생성된 제어 신호를 서버(10)로 스트리밍 경로(14)를 통해 전송한다.
여기서, 네트워크의 대역폭을 정확하게 예측하기 위해서, 도 1에 도시된 서버(10)는 생성된 데이타를 적어도 세 개의 패킷들의 형태로 만들어서 제2 비트율에 의해 정한 패킷 간격으로 스트리밍 경로(14)를 통해 클라이언트(12)로 전송한다. 여기서, 생성된 데이타를 두 개의 패킷들의 형태로 만들어서 전송하는 종래의 패킷 페어(packet-pair) 방식과 달리, 본 발명에 의한 적응적 스트리밍 장치는 생성된 데이타를 세 개 이상의 패킷들의 형태로 만들어서 전송한다. 그 이유는 다음과 같다.
도 2는 종래의 패킷 페어 방식을 설명하기 위한 도면으로서, 서버(20), 클라이언트(22) 및 네트워크(24)로 구성된다.
도 2에 도시된 종래의 패킷 페어 방식은 1999년 3월에 'Kevin Lai' 및 'Mary Baker'에 의해 발표되고 IEEE INFOCOM'99의 볼륨(Volume) 1의 페이지 239에 "Measuring Bandwidth"라는 제목으로 실린 논문에 개시되어 있다. 개시된 종래의 패킷 페어 방식은 도 2에 도시된 바와 같이, 일정한 크기를 갖는 2 개의 제1 및 제2 패킷들(30 및 32)을 시간 t1의 간격으로 서버(20)로부터 네트워크(24)를 통해 클라이언트(22)로 전송한다. 이 때, 네트워크(24)의 대역폭에 따라 패킷 간격이 변한다. 만일, 네트워크(24)의 대역폭이 서버(20)에서 전송하고자 하는 패킷들(30 및 32)의 비트율보다 적다면, 패킷들(34 및 36)의 간격(T1)은 더 벌어지게 된다. 그러나, 네트워크(24)의 대역폭이 패킷들(30 및 32)의 비트율 이상이라면, 패킷 간격(T1)은 변화가 없다. 도 2에 도시된 네트워크(24)의 대역폭(Bandwidth)은 다음 수학식 1과 같다.
Figure 112003043481265-pat00001
여기서, Size2는 제2 패킷(32)의 크기를 나타낸다.
전술한 도 2에 도시된 종래의 패킷 페어는 2개의 패킷들(34 및 36)을 사용하여 대역폭을 예측하기 때문에, 하나의 패킷이 손실되더라도 대역폭을 측정할 수 없다. 또한, 전술한 종래의 패킷 페어 방식에 의해 예측된 대역폭(Bandwidth)은 현재 네트워크의 가용 대역폭과 네트워크가 가지고 있는 최대 대역폭 사이의 값이 된다. 네트워크(24)을 다른 패킷들과 공유하더라도 패킷 페어 사이에 다른 패킷들이 들어가지 않게 되면, 네트워크(24)가 갖는 최대 대역폭이 대역폭으로서 예측된다.
도 3은 본 발명에 의한 개선된 패킷 페어 방식을 설명하기 위한 도면으로서, 서버(40), 클라리언트(42) 및 네트워크(44)로 구성된다. 여기서, 서버(40)와 클라이언트(42)는 도 1에 도시된 서버(10)와 클라이언트(12)에 각각 해당한다.
전술한 종래의 패킷 페어 방식의 문제점을 극복하기 위해, 본 발명에 의한 패킷 제어 방식에 의하면, 클라이언트(42)는 적어도 세 개의 패킷들(60, 62, ... 및 64)을 사용하여 네트워크(44)의 대역폭을 측정한다. 이를 위해, 서버(40)는 적어도 세 개의 패킷들(50, 52, ... 및 54)들을 네트워크(44)를 통해 클라이언트(42)로 전송한다. 이와 같이, 본 발명에 의한 패킷 제어 방식은 적어도 세 개의 패킷들(60, 62, ... 및 64)을 사용하여 네트워크(44)의 대역폭을 측정하기 때문에 어느 패킷의 손실이 발생해도 네트워크(44)의 대역폭을 측정할 수 있으며, 가용 대역폭이 측정될 확률이 높다. 도 3에 도시된 패킷 페어 방식에 의해 측정된 대역폭(Bandwidth)은 다음 수학식 2와 같다.
Figure 112003043481265-pat00002
여기서, Size2, Size3, ... 및 SizeN은 패킷들{(50, 52, ... 및 54) 또는 (60, 62, ... 및 64)} 각각의 크기를 나타내고, N은 3 이상의 양의 정수를 나타내고, T1, T2, ... 및 TN은 패킷들간의 간격을 나타낸다. 즉, T1은 패킷들(60 및 62) 간의 간격을 나타낸다.
도 4는 패킷 간격 설정을 설명하기 위한 도면으로서, 제1, 제2, 제3 엑세스 유닛(AU:Access Unit)들(80, 82, 84, ...)과 제1, 제2, 제3 패킷(Packet)들(Packet1, Packet2, Packet3, ...)(90, 92, 94, ...)로 구성된다.
본 발명에 의하면, 네트워크의 대역폭 증가에 대한 대역폭 예측 성능을 개선하기 위해서, 패킷을 전송할 때 클라이언트(12)에서 요청한 제1 비트율보다 높은 제2 비트율로 패킷 간격을 정하여 데이타를 전송할 수 있다. 즉, 제2 비트율은 제1 비트율 이상이 될 수 있다. 도 4에 도시된 바와 같이, 클라이언트(12)에서 요청한 제1 비트율로 생성된 데이타들(80, 82, ... 및 84)은 타임 스탬프(TS:Time Stamp)들(TS1, TS2, TS3, ...)을 각각 갖는다.
서버(10)로부터 클라이언트(12)로 전송되는 패킷들간의 간격은 엑세스 유닛의 타임 스탬프를 이용하여 결정된다. 이 때, 도 4에 도시된 바와 같이, 서버(10)에서 데이타를 패킷화하여 전송할 때 타임 스탬프를 이용하여 전송할 때의 간격보다 적은 간격으로 패킷화된 데이타들을 전송하면, 즉, 클라이언트(12)에서 요청한 제1 비트율 이상의 제2 비트율로 패킷화된 데이타들이 전송하면, 전송율은 실제 엑세스 유닛의 비트율보다 커지게 되므로, 현재 전송되고 있는 엑세스 유닛의 비트율보다 높은 대역폭까지 측정이 가능하게 된다. 그러므로, 대역폭 증가에 대한 대역폭 예측 성능이 개선된다.
예를 들어, 제1 AU(80)의 타임 스탬프(TS1)가 100㎳이고, 제2 AU(82)의 타임 스탬프(TS2)가 200㎳이고, 제3 AU(84)의 타임 스탬프(TS3)가 300㎳이고, t1, t2 및 t3가 각각 100㎳, 150㎳, 200㎳라고 가정하자. 즉, 엑세스 유닛들의 타임 스탬프들간의 간격이 100㎳이고 50㎳의 간격으로 데이타를 패킷화하여 전송한다고 가정할 경우, AU의 제1 비트율보다 2배 높은 제2 비트율로 전송된다. 그러므로, 클라이언트(12)측에서는 제1 비트율보다 2배 높은 제2 비트율까지 대역폭 측정이 가능해진다.
도 5는 네트워크 수신 버퍼링의 점유 상태를 설명하기 위한 도면으로서, 버퍼(100)로 구성된다.
본 발명에 의하면, 도 1에 도시된 클라이언트(12)는 제어 신호를 생성할 때 제3 비트율 뿐만 아니라 네트워크 수신 버퍼링의 공간을 고려할 수도 있다. 여기서, 네트워크 수신 버퍼링의 공간이란, 클라이언트(12)의 내부에 마련되는 버퍼(100)가 버퍼링할 수 있는 공간을 의미한다. 여기서, 버퍼(100)는 스트리밍 경로(14)를 통해 수신된 패킷화된 데이타를 역 패킷화(depacketization)하여 생성한 엑세스 유닛을 버퍼링하고, 버퍼링된 결과를 복호화부(미도시)로 전송하는 역할을 한다. 여기서, 복호화부는 버퍼링된 결과를 복호화하는 역할을 한다.
먼저, 도 5에 도시된 버퍼(100)에서 네트워크 수신 버퍼링의 하한선(LBL:Low Buffer Limit)과 상한선(UBL:Upper Buffer Limit)을 설정한다. 만일, 버퍼(100)의 점유 상태 즉, 점유율이 LBL이하일 경우 현재 측정된 대역폭보다 적은 비트율로 제어 신호를 발생하고, 점유율이 UBL이상일 경우 현재 측정된 대역폭보다 높은 비트율로 제어 신호를 발생한다. 따라서, 버퍼 점유율이 LBL과 UBL 사이의 값으로 유지될 수 있다.
한편, 도 1에 도시된 서버(10)는 계층 부호화, 변환 부호(trans-coding)화 또는 실시간 부호화를 통해 데이타를 제1 비트율로 생성할 수 있다.
이하, 도 1에 도시된 적응적 스트리밍 장치의 본 발명에 의한 일 실시예의 구성 및 동작을 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 6은 도 1에 도시된 서버(10)의 본 발명에 의한 바람직한 일 실시예(10A)의 블럭도로서, 저장부(130), 부호화부(132), 전처리부(134), 변환부(136) 및 서버측 스트리밍 엔진부(138)로 구성된다.
도 6에 도시된 저장부(130)는 부호화된 데이타를 저장한다. 이 때, 전 처리부(134)는 부호화부(132)에서 부호화하기 전의 모든 과정 즉, 마이크(미도시) 또는 카메라(미도시)로부터 데이타 입력이나 부호화 이전의 색상 변환 과정등 모든 처리 과정을 처리할 수 있다.
부호화부(132)는 전 처리부(134)에서 전처리된 데이타를 입력하고, 변환부(136)로부터 제1 비트율에 대한 정보를 입력하며, 전 처리된 데이타를 제1 비트율로 부호화하며, 부호화된 결과를 변환부(136)로 출력한다. 여기서, 부호화된 데이타란 전술한 엑세스 유닛에 해당한다.
이 때, 변환부(136)는 저장부(130) 또는 부호화부(132)로부터 입력한 부호화된 데이타를 서버측 스트리밍 엔진부(138)로부터 입력한 비트율 정보에 포함된 제1 비트율로 변환하고, 변환된 결과를 서버측 스트리밍 엔진부(138)로 출력한다.
이 때, 서버측 스트리밍 엔진부(138)는 클라이언트(12)로부터 입력단자 IN1을 통해 입력한 제어 신호로부터 비트율 정보를 추출하여 변환부(136)로 출력하고, 변환부(136)에서 변환된 결과를 패킷화하여 제2 비트율로 출력단자 OUT1을 거쳐 스트리밍 경로(14)를 통해 클라이언트(12)로 전송한다. 이를 위해, 서버측 스트리밍 엔진부(138)는 제어 신호 수신부(140) 및 데이타 송신부(142)로 구현될 수 있다. 여기서, 제어 신호 수신부(140)는 클라이언트(12)로부터 입력단자 IN1을 통해 입력한 제어 신호로부터 비트율 정보를 추출하고, 추출된 비트율 정보를 변환부(136)로 출력한다. 데이타 송신부(142)는 변환부(136)에서 변환된 결과를 입력하여 패킷화하고, 패킷화된 결과를 제2 비트율로 출력단자 OUT1을 거쳐 스트리밍 경로(14)를 통해 클라이언트(12)로 전송한다.
도 7은 도 1에 도시된 클라이언트(12)의 본 발명에 의한 일 실시예(12A)의 블럭도로서, 클라이언트측 스트리밍 엔진부(150), 복호화부(152) 및 렌더링(rendering)부(154)로 구성된다.
도 7에 도시된 클라이언트측 스트리밍 엔진부(150)는 입력단자 IN2를 통해 제3 비트율로 수신된 패킷화된 데이타를 역 패킷화하고, 역 패킷화된 결과를 복호화부(152)로 출력한다. 또한, 클라이언트측 스트리밍 엔진부(150)는 제3 비트율에 응답하여 제어 신호를 생성하고, 생성된 제어 신호를 출력단자 OUT2를 통해 서버(10)로 전달한다.
도 8은 도 7에 도시된 클라이언트측 스트리밍 엔진부(150)의 본 발명에 의한 실시예(154A)의 블럭도로서, 데이타 수신부(170), 네트워크 상태 결정부(172), 제어 신호 생성부(174), 제어 신호 송신부(176) 및 버퍼(178)로 구성된다. 여기서, 버퍼(178)는 도 5에 도시된 버퍼(100)에 해당한다.
도 8에 도시된 데이타 수신부(170)는 패킷화된 데이타를 제3 비트율로 입력단자 IN3을 통해 수신하여 역 패킷화하고, 역 패킷화된 결과를 버퍼(178)로 출력한다. 또한, 데이타 수신부(170)는 입력단자 IN3을 통해 수신된 패킷화된 데이타의 크기와 간격을 네트워크 상태 결정부(172)로 출력한다.
네트워크 상태 결정부(172)는 패킷화된 데이타의 크기와 간격을 데이타 수신부(170)로부터 수신하고, 수신한 크기와 간격에 따라 제3 비트율을 결정하며, 결정된 제3 비트율을 제어 신호 생성부(714)로 출력한다. 즉, 네트워크 상태 결정부(172)는 수신한 크기와 간격에 따라 대역폭을 측정한다. 이 때, 제어 신호 생성부(174)는 네트워크 상태 결정부(172)에서 결정한 제3 비트율을 이용하여 제어 신호를 생성하고, 생성된 제어 신호를 제어 신호 송신부(176)로 출력한다. 이 때, 클라이언트측 스트리밍 엔진부(154A)는 데이타 수신부(170)로부터 입력한 역 패킷화된 결과를 버퍼링하여 복호화부(178)로 출력단자 OUT5를 통해 출력하는 버퍼(178)를 더 마련할 수 있다. 이 경우, 제어 신호 생성부(174)는 네트워크 상태 결정부(172)로부터 입력한 제3 비트율 및 버퍼(178)의 버퍼링 상태를 이용하여 제어 신호를 생성하고, 생성된 제어 신호를 제어 신호 송신부(176)로 출력한다. 이 때, 제어 신호 송신부(176)는 생성된 제어 신호를 출력단자 OUT4를 통해 서버(10)로 전달하는 역할을 한다.
한편, 도 7에 도시된 복호화부(152)는 클라이언트측 스트리밍 엔진부(150)에서 역 패킷화된 결과를 입력하여 복호화하고, 복호화된 결과를 렌더링부(154)로 출력한다. 이 때, 렌더링부(154)는 복호화부(152)에서 복호화된 결과를 렌더링하여 재생하고, 렌더링된 결과를 출력단자 OUT3을 통해 출력한다.
이하, 본 발명에 의한 적응적 스트리밍 방법을 첨부한 도면을 참조하여 다음과 같이 설명한다.
도 9는 본 발명에 의한 적응적 스트리밍 방법을 설명하기 위한 플로우차트로서, 데이타의 전송이 요구될 때, 서버(10)에서 데이타를 생성하여 클라이언트(12)로 전송하는 단계(제190 ~ 제194 단계들) 및 전송된 데이타를 수신하는 단계(제196 ~ 제200 단계들)로 이루어진다.
본 발명에 의한 적응적 스트리밍 방법은, 데이타의 전송이 요구되는가를 판단한다(제190 단계). 즉, 데이타를 전송해 줄 것을 클라이언트(12)가 서버(10)에게 비트율 정보를 보내면서 요구하는가를 판단한다. 만일, 데이타의 전송을 요구하는 것으로 판단되면, 클라이언트(12)에서 결정된 제1 비트율로 데이타를 생성한다(제192 단계). 즉, 서버(10)는 비트율 정보로부터 제1 비트율을 추출하고, 추출된 제1 비트율로 데이타를 생성한다.
제192 단계후에, 서버(10)는 생성된 데이타를 패킷화하여 제2 비트율로 클라이언트(12)로 스트리밍 경로(14)를 통해 전송한다(제194 단계).
제194 단계후에, 클라이언트(12)는 서버(10)로부터 전송된 패킷화된 데이타를 제3 비트율로 수신한다(제196 단계). 제196 단계후에, 클라이언트(12)는 수신된 데이타의 크기와 간격을 이용하여 제3 비트율을 결정하고, 결정한 제3 비트율을 이용하여 제1 비트율을 결정한다(제198 단계).
제198 단계후에, 클라이언트(12)는 데이타의 전송을 서버(10)에게 요구할 것인가를 판단한다(제200 단계). 만일 클라이언트(12)가 데이타의 전송을 서버(10)에게 요구하는 것으로 판단되면, 서버(10)는 제198 단계에서 결정된 제1 비트율로 데이타를 생성한다(제192 단계).
이상에서 설명한 바와 같이, 본 발명에 의한 적응적 스트리밍 장치 및 방법은 스트리밍하면서 네트워크의 대역폭을 자동으로 인식하여 스트리밍하고자 하는 멀티 미디어 데이타의 비트율을 변경시킴으로서 멀티 미디어 데이타를 끊김없이 재생할 수 있도록 하고 즉, 버퍼링 현상이 없이 지속적인 재생을 가능하게 하고 망 혼잡으로 인한 패킷의 지연과 손실을 최소화할 수 있도록 하고, 클라이언트의 버퍼 상태에 따라 제어 신호를 달리 발생하여 이를 서버의 데이타 생성에 반영시키므로써 오디오/비디오 재생의 품질을 최적화시킬 수 있고, 제1 비트율 이상의 제2 비트율로 패킷 간격을 정하여 데이타를 전송하므로 대역폭 증가에 따른 예측 성능을 개선해서 대역폭 증가시에 네트워크 대역폭 활용율을 높일 수 있는 효과를 갖는다.

Claims (10)

  1. 패킷화된 데이타를 스트리밍하는 스트리밍 경로;
    제어 신호에 응답하여 결정되는 제1 비트율로 데이타를 생성하고, 생성된 데이타를 패킷화하여 상기 제1 비트율 이상인 제2 비트율로 상기 스트리밍 경로를 통해 전송하는 서버; 및
    상기 패킷화된 데이타를 상기 스트리밍 경로의 상태에 따라 가변되는 제3 비트율로 수신하고, 상기 제3 비트율에 응답하여 상기 제어 신호를 생성하는 클라이언트를 구비하는 것을 특징으로 하는 적응적 스트리밍 장치.
  2. 제1 항에 있어서, 상기 클라이언트는 상기 제3 비트율과 네트워크 수신 버퍼링의 공간에 상응하여 상기 제어 신호를 생성하는 것을 특징으로 하는 적응적 스트리밍 장치.
  3. 삭제
  4. 제1 항에 있어서, 상기 서버는
    계층 부호화, 변환 부호화 또는 실시간 부호화를 통해 상기 데이타를 상기 제1 비트율로 생성하는 것을 특징으로 하는 적응적 스트리밍 장치.
  5. 제1 항에 있어서, 상기 서버는
    상기 생성된 데이타를 적어도 세 개의 패킷들의 형태로 만들어서 상기 제2 비트율로 정한 패킷 간격으로 상기 스트리밍 경로를 통해 상기 클라이언트로 전송하는 것을 특징으로 하는 적응적 스트리밍 장치.
  6. 제1 항에 있어서, 상기 서버는
    부호화된 데이타를 저장하는 저장부;
    전처리된 데이타를 상기 제1 비트율로 부호화하는 부호화부;
    상기 저장부 또는 상기 부호화부로부터 입력한 부호화된 데이타를 비트율 정보에 포함된 상기 제1 비트율로 변환하는 변환부; 및
    상기 클라이언트로부터 입력한 상기 제어 신호로부터 상기 비트율 정보를 추출하여 상기 변환부로 출력하고, 상기 변환부에서 변환된 결과를 패킷화하여 상기 제2 비트율로 상기 스트리밍 경로를 통해 전송하는 서버측 스트리밍 엔진부를 구비하는 것을 특징으로 하는 적응적 스트리밍 장치.
  7. 제1 항에 있어서, 상기 클라이언트는
    상기 제3 비트율로 수신된 상기 패킷화된 데이타를 역 패킷화하고, 상기 제3 비트율에 응답하여 상기 제어 신호를 생성하여 상기 서버로 전달하는 클라이언트측 스트리밍 엔진부;
    상기 역 패킷화된 결과를 복호화하는 복호화부; 및
    상기 복호화된 결과를 렌더링하는 렌더링부를 구비하는 것을 특징으로 하는 적응적 스트리밍 장치.
  8. 제7 항에 있어서, 상기 클라이언트측 스트리밍 엔진부는
    상기 패킷화된 데이타를 상기 제3 비트율로 수신하여 역 패킷화하고, 상기 수신된 패킷화된 데이타의 크기와 간격을 출력하는 데이타 수신부;
    상기 수신된 패킷화된 데이타의 크기와 간격에 따라 제3 비트율을 결정하는 네트워크 상태 결정부;
    결정한 상기 제3 비트율을 이용하여 상기 제어 신호를 생성하는 제어 신호 생성부; 및
    상기 생성된 제어 신호를 상기 서버로 전달하는 제어 신호 송신부를 구비하는 것을 특징으로 하는 적응적 스트리밍 장치.
  9. 제8 항에 있어서, 상기 클라이언트측 스트리밍 엔진부는
    상기 데이타 수신부로부터 입력한 상기 역 패킷화된 결과를 버퍼링하여 상기 복호화부로 출력하는 버퍼를 더 구비하고,
    상기 제어 신호 생성부는 상기 제3 비트율 및 상기 버퍼의 버퍼링 상태를 이용하여 상기 제어 신호를 생성하는 것을 특징으로 하는 적응적 스트리밍 장치.
  10. 제1 항의 스트리밍 장치에서 수행되는 적응적 스트리밍 방법에 있어서,
    상기 데이타의 전송이 요구될 때, 상기 클라이언트에서 결정된 상기 제1 비트율로 상기 데이타를 생성하는 단계;
    상기 생성된 데이타를 패킷화하여 상기 제1 비트율 이상인 제2 비트율로 상기 클라이언트로 전송하는 단계;
    상기 서버로부터 전송된 상기 패킷화된 데이타를 상기 제3 비트율로 수신하는 단계;
    상기 수신된 데이타의 크기와 간격을 이용하여 결정한 상기 제3 비트율을 이용하여 상기 제1 비트율을 결정하는 단계; 및
    상기 데이타의 전송을 요구할 것인가를 판단하고, 상기 데이타의 전송을 상기 서버에게 요구할 것으로 판단되면, 상기 데이타를 생성하는 단계로 진행하는 단계를 구비하는 것을 특징으로 하는 적응적 스트리밍 방법.
KR1020030081723A 2003-11-18 2003-11-18 적응적 스트리밍 장치 및 방법 KR100601934B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030081723A KR100601934B1 (ko) 2003-11-18 2003-11-18 적응적 스트리밍 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030081723A KR100601934B1 (ko) 2003-11-18 2003-11-18 적응적 스트리밍 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20050047920A KR20050047920A (ko) 2005-05-23
KR100601934B1 true KR100601934B1 (ko) 2006-07-14

Family

ID=37246801

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030081723A KR100601934B1 (ko) 2003-11-18 2003-11-18 적응적 스트리밍 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100601934B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013022316A1 (en) * 2011-08-11 2013-02-14 Samsung Electronics Co., Ltd. Apparatus and method for providing streaming service
KR101638509B1 (ko) 2015-04-14 2016-07-12 고려대학교 산학협력단 모바일 멀티미디어 스트리밍 서비스를 위한 비디오 품질 제어 장치 및 방법
KR102019654B1 (ko) 2018-10-02 2019-09-09 전남대학교산학협력단 적응형 스트리밍 서버를 전환하기 위한 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050005025A1 (en) * 2003-07-04 2005-01-06 Michael Harville Method for managing a streaming media service
KR101937449B1 (ko) * 2012-10-08 2019-01-11 에스케이텔레콤 주식회사 동영상 서비스 장치 및 동영상 서비스 방법
US9462032B2 (en) 2013-07-24 2016-10-04 Google Inc. Streaming media content
KR102270034B1 (ko) 2014-09-30 2021-06-28 삼성전자주식회사 다수 개의 무선 억세스 인터페이스들을 지원하는 이동 통신 시스템에서 스트리밍 서비스 데이터 수신 장치 및 방법
US20160373509A1 (en) 2015-06-16 2016-12-22 Sk Telecom Co., Ltd. APPARATUS AND METHOD FOR REPORTING QoS/QoE IN MOBILE ENVIRONMENT
KR20170130253A (ko) 2016-05-18 2017-11-28 에스케이텔레콤 주식회사 적응형 스트리밍 서비스 제공 방법 및 이를 위한 장치
KR101915469B1 (ko) 2016-11-29 2018-11-06 에스케이텔레콤 주식회사 스트리밍 서비스 제공 방법 및 이를 위한 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013022316A1 (en) * 2011-08-11 2013-02-14 Samsung Electronics Co., Ltd. Apparatus and method for providing streaming service
KR101638509B1 (ko) 2015-04-14 2016-07-12 고려대학교 산학협력단 모바일 멀티미디어 스트리밍 서비스를 위한 비디오 품질 제어 장치 및 방법
KR102019654B1 (ko) 2018-10-02 2019-09-09 전남대학교산학협력단 적응형 스트리밍 서버를 전환하기 위한 방법

Also Published As

Publication number Publication date
KR20050047920A (ko) 2005-05-23

Similar Documents

Publication Publication Date Title
JP3740113B2 (ja) ネットワークに適応したリアルタイムマルチメディアストリーミングシステム及びその方法
US7652994B2 (en) Accelerated media coding for robust low-delay video streaming over time-varying and bandwidth limited channels
RU2305908C2 (ru) Адаптивный способ оценивания скорости передачи мультимедийных данных
CN1981492B (zh) 用于多媒体流中速率适配的缓冲器水平信令
US8489758B2 (en) Method of transmitting data in a communication system
KR101727450B1 (ko) 화상 전화에서의 지연 감소
US20050094628A1 (en) Optimizing packetization for minimal end-to-end delay in VoIP networks
US7111058B1 (en) Server and method for transmitting streaming media to client through a congested network
JP4748729B2 (ja) データおよび対応するプロダクトを送信する準備のための装置と方法
CN102395027A (zh) 传送多数据通道的***和方法
KR20060011964A (ko) 혁신적인 레이트 적응 시그널링을 위한 방법 및 장치
WO2008023303A2 (en) Jitter buffer adjustment
RU2598805C2 (ru) Способ для динамической адаптации частоты следования битов при приеме и соответствующий приемник
JP2007150859A (ja) 受信装置、送信装置、通信システム、受信装置の制御プログラム、および受信装置の制御プログラムを記録した記録媒体
CN100521646C (zh) 计算每个流的可用带宽和比特流协调的发送多数据流的数据通信方法和***
KR100601934B1 (ko) 적응적 스트리밍 장치 및 방법
WO2005039180A1 (ja) メディア信号の送信方法と受信方法ならびに送受信方法及び装置
KR20230002784A (ko) 오디오 및/또는 비디오 콘텐츠 전송을 위한 방법 및 서버
KR20100007368A (ko) 스트리밍 서비스의 비트 레이트를 제어하기 위한 시스템 및그 방법
US7986634B2 (en) Apparatus and method for measuring quality of sound encoded with a variable band multi-codec
CN112911650A (zh) 移动高清视频智能双向探测带宽控制***
JP2006511162A (ja) 受信機駆動のストリーミングシステムでのマルチトラックヒンティング
CA2528331A1 (en) Medium signal reception device, transmission device, and transmission/reception system
JP4406382B2 (ja) 音声符号化選択制御方法
KR20070010200A (ko) 멀티미디어 스트리밍의 속도 적응을 위한 버퍼 레벨시그널링

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130627

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee